Когда я вставляю следующий текст в 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 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, которую не загружает ни одна из других загрузок рубинов. Есть ли способ настроить и скомпилировать REE, чтобы игнорировать файл libreadline из MacPorts?
require 'readline'
puts `lsof -p #{$$} | grep -i readline | awk '{print $9}'`
puts
Я запустил выше script на нескольких рубиновых установках. Только нижние 2 установки (установки REE) включают дополнительную libreadline.
=== 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