Наклеивающий текст в IRB невероятно медленно. Проблема readline?

Когда я вставляю следующий текст в IRB или PRY, работающий под Ruby-Enterprise-2011.03, это занимает 13 секунд.

# Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Выставка не медленная при запуске IRB с другими установками Ruby на одном компьютере.

  jruby-1.5.6
  jruby-1.6.3
  ruby-1.8.6-p420
  ruby-1.8.7-p352
  ruby-1.9.1-p431
  ruby-1.9.2-p290
  ruby-1.9.3-preview1
  or Mac OS X's default system install of 1.8.7-p249

Этот вопрос связан с консолью Rails, работающих невероятно медленно при редактировании текста , но я не использую RVM, и нет медлительности при записи, редактировании или удалении текста; Только вставление медленное. @ Предложение FL00R работает, но это не постоянное исправление.

Также, если в вклейшенном тексте есть жесткие новости, только последняя строка медленная. Например, вставка следующего текста занимает около 1,5 секунды

# Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
# sed do eiusmod tempor incididunt ut labore et dolore magna 
# aliqua. 

, я заметил, что REE загружает копию Libreadline, что ни одна из других установок Ruby Installations. Есть ли способ настроить и компилировать REE, чтобы игнорировать файл libradline из macports?

require 'readline'
puts `lsof -p #{$$} | grep -i readline | awk '{print $9}'`
puts

Я провел вышеупомянутый скрипт на нескольких установках Ruby. Только внизу 2 установки (установки REE) включают дополнительную LibradeLine.

=== ruby-1.8.6-p36 ======================
/opt/ruby-1.8.6-p36/lib/ruby/1.8/i686-darwin11.2.0/readline.bundle

=== ruby-1.8.6-p420 ======================
/opt/ruby-1.8.6-p420/lib/ruby/1.8/i686-darwin11.0.1/readline.bundle

=== ruby-1.8.7-p352 ======================
/opt/ruby-1.8.7-p352/lib/ruby/1.8/i686-darwin11.0.1/readline.bundle

=== ruby-1.9.1-p431 ======================
/opt/ruby-1.9.1-p431/lib/ruby/1.9.1/i386-darwin11.0.1/readline.bundle

=== ruby-1.9.2-p290 ======================
/opt/ruby-1.9.2-p290/lib/ruby/1.9.1/x86_64-darwin11.0.1/readline.bundle

=== ruby-1.9.3-preview1 ==================
/opt/ruby-1.9.3-preview1/lib/ruby/1.9.1/x86_64-darwin11.0.1/readline.bundle

=== ruby-enterprise-1.8.7-2011.03 ========
/opt/ruby-enterprise-1.8.7-2011.03/lib/ruby/1.8/i686-darwin11.0.1/readline.bundle
/opt/local/lib/libreadline.6.2.dylib

=== ruby-enterprise-1.8.7-2012.01 ========
/opt/ruby-enterprise-1.8.7-2012.01/lib/ruby/1.8/i686-darwin11.2.0/readline.bundle
/opt/local/lib/libreadline.6.2.dylib

13
задан Community 23 May 2017 в 12:13
поделиться