新聞中心
越來越覺的JRuby是個很有前途的項目,結(jié)合Ruby簡潔的語法和Java極其豐富的類庫,況且有團隊持續(xù)不斷地修正bug、改進性能,這樣的玩意完全有成為“少男殺手”的潛質(zhì)。JRuby wiki上列出了性能優(yōu)化的四條建議:

員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團隊的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)堅持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因為“專注所以專業(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),重慶小程序開發(fā)公司,軟件按需定制網(wǎng)站等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。
1、調(diào)優(yōu)編譯器
JRuby早就棄暗投明跟隨XRuby走上了編譯這條牛B的道路,將Ruby Script編譯成字節(jié)碼,因此這個環(huán)節(jié)是斷斷不能忽略的。
兩種編譯方式:
◆AOT模式:直接生成class文件,脫了Ruby這層皮,咱就是人見人“愛”的Java了。
◆JIT模式:充分利用成熟的jit技術(shù),咱不全脫,朦朧美才是真的美。默認(rèn)從0.9.9版本開始就是開啟的。
- jruby -J-Djruby.jit.enabled=false
2、關(guān)閉ObjectSpace
ObjectSpace是Ruby用來操作所有運行時對象的模塊,這個功能相當(dāng)牛x。這個的實現(xiàn)在c ruby里是比較容易的,但是對于JRuby代價就比較昂貴了,其實就大部分情況下你基本用不到這個東東,那么最好就是關(guān)閉它,JRuby提供了
- jruby -J-Djruby.objectspace.enabled=false
選項來關(guān)閉它。
3、開啟線程池
我們知道,在c ruby中的線程是綠色的輕量級線程,因此運行時就動不動開個百來十個“線程”跑一跑充下款爺;然而在JRuby中,線程的實現(xiàn)那可是實打?qū)嵉谋镜鼐€程(也就是Ruby線程與Java線程一比一),你這么動不動上百個線程那不慢才怪了。因此JRuby提供了線程池選項,運行時盡可能地滿足你的要求開線程,但是當(dāng)短命的Ruby線程重復(fù)創(chuàng)建的時候,這些線程將被復(fù)用,這在大多數(shù)情況下能提高性能表現(xiàn),特別是在每次調(diào)用都啟動一個線程的情況下。不過具體效果還是要測試的實際數(shù)據(jù)說話。
- jruby -J-Djruby.thread.pooling=true
4、使用Java "server"模式虛擬機,這是大家都知道的JRuby性能優(yōu)化技巧。
- jruby -J-server myscript.rb
【編輯推薦】
- JRuby中調(diào)用java帶可變參數(shù)的方法
- 使用JRuby生成JVM代碼
- JRuby入門教程:從無到有建立第一個Hello World
- 如何在tomcat上配置jruby on rails
- JRuby:即將進入黃金時段?
新聞標(biāo)題:JRuby性能優(yōu)化的四點建議
文章轉(zhuǎn)載:http://m.fisionsoft.com.cn/article/coiciec.html


咨詢
建站咨詢
