JRuby 結合了 Ruby 的優雅語法與 Java 豐富的類別庫,加上開發團隊持續修正錯誤、改善效能,極具發展潛力。根據 JRuby Wiki,以下是四項關鍵的效能優化建議:
JRuby 採用編譯策略,將 Ruby Script 編譯為位元組碼。提供兩種模式:
-Djruby.jit.enabled=false 關閉(但不建議)。ObjectSpace 是 Ruby 操作所有執行時期物件的模組,在 C Ruby 實作容易,但在 JRuby 代價高昂。大多數情況下用不到此功能,建議啟動時加入 -Djruby.objectspace.enabled=false 關閉。
C Ruby 使用綠色執行緒(輕量級),可輕易建立大量執行緒;JRuby 則映射至原生 Java 執行緒(一對一),頻繁建立銷毀效能低落。啟用 -Djruby.thread.pooling=true 可重用短壽命執行緒,顯著提升效能,特別是每次呼叫都啟動執行緒的場景。實際效果仍需以測試數據為準。
啟動參數加入 -server 模式(jruby -J-server myscript.rb),針對長期執行的伺服器應用程式優化編譯與記憶體管理。
測試顯示 JDK 6 執行 JRuby 效率最高,建議持續更新 JDK 版本以獲得最佳效能。