JRuby的性能优化(update)[Java编程]
本文“JRuby的性能优化(update)[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
越来越觉的JRuby是个很有前途的项目,结合Ruby的性感语法和java极端丰富的类库,何况有团队持续不断地改正bug、改良性能,这样的玩意完好有成为“少男杀手”的潜质.JRuby wiki上列出了性能优化的四条倡议:
1、调优编译器,JRuby早就改邪归正跟随XRuby走上了编译这条牛B的道路,将Ruby Script编译成字节码,因此这个环节是断断不能忽视的.
两种编译方法:
AOT情势:直接生成class文件,脱了Ruby这层皮,咱就是人见人“爱”的java了.
JIT情势:充分操纵成熟的jit技术,咱不全脱,朦胧美才是真的美.默许从0.9.9版本开始就是开启的,关闭的话(要我说还不如全脱)
jruby-J-Djruby.jit.enabled=false
2、关闭ObjectSpace
ObjectSpace是Ruby用来操作全部运行时对象的模块,这个功效相当牛x.这个的实目前c ruby里是对比简单的,但是关于JRuby代价就对比高贵了,其实就大部份情形下你基本用不到这个东东,那么最好就是关闭它,JRuby供应了
jruby-J-Djruby.objectspace.enabled=false
选项来关闭它.
3、开启线程池
我们知道,在c ruby中的线程是绿色的轻量级线程,因此运行时就动不动开个百来十个“线程”跑一跑充下款爷;但是在JRuby中,线程的实现那但是实打实的本地线程(也就是Ruby线程与java线程一比一),你这么动不动上百个线程那不慢才怪了.因此JRuby供应了线程池选项,运行时尽大概地满意你的要求开线程,但是当短寿的Ruby线程反复成立的时刻,这些线程将被复用,这在大大都情形下能提高性能表现,分外是在每次调用都启动一个线程的情形下.不过具体效果还是要测试的实际数据说话.
jruby-J-Djruby.thread.pooling=true
4、利用Java "server"情势虚拟机,地球淫都知道
jruby-J-servermyscript.rb
5、尽大概利用最新的jdk,在我的测试中,jdk6跑jruby是效率最高的.
以上是“JRuby的性能优化(update)[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |