<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    JRuby的性能優(yōu)化(update)

    Posted on 2008-01-31 18:58 dennis 閱讀(4416) 評論(1)  編輯  收藏 所屬分類: 動態(tài)語言 、java
        越來越覺的JRuby是個很有前途的項目,結(jié)合Ruby的性感語法和java極其豐富的類庫,況且有團隊持續(xù)不斷地修正bug、改進性能,這樣的玩意完全有成為“少男殺手”的潛質(zhì)。JRuby wiki上列出了性能優(yōu)化的四條建議:
    1、調(diào)優(yōu)編譯器,JRuby早就棄暗投明跟隨XRuby走上了編譯這條牛B的道路,將Ruby Script編譯成字節(jié)碼,因此這個環(huán)節(jié)是斷斷不能忽略的。
    兩種編譯方式:
    AOT模式:直接生成class文件,脫了Ruby這層皮,咱就是人見人“愛”的java了。
    JIT模式:充分利用成熟的jit技術(shù),咱不全脫,朦朧美才是真的美。默認從0.9.9版本開始就是開啟的,關(guān)閉的話(要我說還不如全脫)
    jruby -J-Djruby.jit.enabled=false


    2、關(guān)閉ObjectSpace
    ObjectSpace是Ruby用來操作所有運行時對象的模塊,這個功能相當牛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提供了線程池選項,運行時盡可能地滿足你的要求開線程,但是當短命的Ruby線程重復創(chuàng)建的時候,這些線程將被復用,這在大多數(shù)情況下能提高性能表現(xiàn),特別是在每次調(diào)用都啟動一個線程的情況下。不過具體效果還是要測試的實際數(shù)據(jù)說話。
    jruby -J-Djruby.thread.pooling=true


    4、使用Java "server"模式虛擬機,地球淫都知道
    jruby -J-server myscript.rb

    5、盡量使用最新的jdk,在我的測試中,jdk6跑jruby是效率最高的。


    評論

    # re: JRuby的性能優(yōu)化  回復  更多評論   

    2008-02-17 12:48 by 93tto
    不錯……
    主站蜘蛛池模板: 亚洲第一香蕉视频| 人碰人碰人成人免费视频| 青青青青青青久久久免费观看| 精品视频免费在线| 亚洲VA中文字幕无码一二三区| 欧美大尺寸SUV免费| 成人a毛片视频免费看| 亚洲天堂一区二区| 国产精品久免费的黄网站| 无码人妻久久一区二区三区免费 | 国产午夜亚洲精品理论片不卡| 2015日韩永久免费视频播放| 国产精品观看在线亚洲人成网| 亚洲电影在线播放| 亚洲综合在线另类色区奇米| 女性自慰aⅴ片高清免费| 国产成人精品无码免费看| 国产亚洲人成在线影院| 亚洲黄色片免费看| 国产亚洲美日韩AV中文字幕无码成人| 91黑丝国产线观看免费| 嫩草影院在线播放www免费观看| 精品亚洲国产成人av| 亚洲午夜国产精品| 久久伊人久久亚洲综合| 亚洲一区二区三区无码影院| 成年人在线免费观看| 国产a视频精品免费观看| 久久免费精品视频| www成人免费视频| AV激情亚洲男人的天堂国语| 国产精品高清视亚洲精品| 亚洲午夜精品久久久久久人妖| 亚洲国产成人影院播放| 在线a毛片免费视频观看| 国产大片91精品免费观看不卡| 久久免费区一区二区三波多野| 中文字幕免费在线看线人动作大片| 国产尤物在线视精品在亚洲| 亚洲色中文字幕在线播放| 亚洲天堂电影在线观看|