Таким образом, запуск процесса ruby, синтаксический анализ сценария, его выполнение и выход из 100 000 раз быстрее, чем импорт сценария в цикл под JRuby? Что ж, хорошо, если вы это измерили, то в том, что вы делаете, не так уж много неправильного. Но если вы только что измерили запуск скрипта один раз в JRuby и один раз в ruby (или, может быть, в среднем 5 запусков, а не в циклах по 100 000 раз), то вполне вероятно, что вы делаете что-то не так, потому что вы частично сравнили время запуска JRuby и время запуска ruby, которое не будет справедливым сравнением, так как вы должны запустить JRuby, а затем ruby в том, что вы на самом деле написали.
Из ваших комментариев кажется, что у вас проблемы с очисткой памяти, используемой при каждом запуске при запуске в JRuby. В этом случае вы можете попробовать выполнить цикл во внешнем рубине, если он правильно обрабатывает память, это лучше, чем запуск рубина 100 000 раз.
#main.rb
`ruby dosomething.rb`
----
#dosomething.rb
(1..100000).each do |loop|
doingSomething
end