JRuby性能优化的四点建议

开发 后端
JRuby结合Ruby简洁的语法和Java极其丰富的类库最近很受大家的欢迎,本文向您介绍JRuby性能优化的四点建议帮助您改进JRuby开发中的性能问题。

越来越觉的JRuby是个很有前途的项目,结合Ruby简洁的语法和Java极其丰富的类库,况且有团队持续不断地修正bug、改进性能,这样的玩意完全有成为“少男杀手”的潜质。JRuby wiki上列出了性能优化的四条建议:

1、调优编译器

JRuby早就弃暗投明跟随XRuby走上了编译这条牛B的道路,将Ruby Script编译成字节码,因此这个环节是断断不能忽略的。

两种编译方式:

◆AOT模式:直接生成class文件,脱了Ruby这层皮,咱就是人见人“爱”的Java了。

◆JIT模式:充分利用成熟的jit技术,咱不全脱,朦胧美才是真的美。默认从0.9.9版本开始就是开启的。

  1. jruby -J-Djruby.jit.enabled=false   

2、关闭ObjectSpace

ObjectSpace是Ruby用来操作所有运行时对象的模块,这个功能相当牛x。这个的实现在c ruby里是比较容易的,但是对于JRuby代价就比较昂贵了,其实就大部分情况下你基本用不到这个东东,那么最好就是关闭它,JRuby提供了

  1. jruby -J-Djruby.objectspace.enabled=false   

选项来关闭它。

3、开启线程池

我们知道,在c ruby中的线程是绿色的轻量级线程,因此运行时就动不动开个百来十个“线程”跑一跑充下款爷;然而在JRuby中,线程的实现那可是实打实的本地线程(也就是Ruby线程与Java线程一比一),你这么动不动上百个线程那不慢才怪了。因此JRuby提供了线程池选项,运行时尽可能地满足你的要求开线程,但是当短命的Ruby线程重复创建的时候,这些线程将被复用,这在大多数情况下能提高性能表现,特别是在每次调用都启动一个线程的情况下。不过具体效果还是要测试的实际数据说话。

  1. jruby -J-Djruby.thread.pooling=true 

4、使用Java "server"模式虚拟机,这是大家都知道的JRuby性能优化技巧。

  1. jruby -J-server myscript.rb   

 

【编辑推荐】

  1. JRuby中调用java带可变参数的方法
  2. 使用JRuby生成JVM代码
  3. JRuby入门教程:从无到有建立第一个Hello World
  4. 如何在tomcat上配置jruby on rails
  5. JRuby:即将进入黄金时段?
责任编辑:佚名 来源: Javaeye
相关推荐

2009-03-16 16:00:19

HibernateJ2EE配置

2009-07-29 09:18:49

Java内部类

2015-07-15 14:50:17

云计算SaaS云计算转型

2014-08-27 10:24:33

.NETC#

2022-06-28 16:00:17

Linux网络性能优化

2017-01-15 15:13:37

Android性能优化优化点

2023-12-12 12:08:25

2020-03-31 14:16:25

前端性能优化HTTP

2010-10-15 12:56:17

提高无线上网速度

2023-10-11 14:25:25

2023-08-28 12:33:01

2010-04-23 14:48:26

Oracle性能优化

2013-05-22 16:37:15

优化IAP设计运营推广

2021-11-09 09:57:46

Webpack 前端分包优化

2013-01-10 09:47:09

HBase性能优化

2016-01-21 10:19:55

云计算初创公司云业务

2020-06-05 08:53:31

接口性能实践

2016-05-20 14:20:31

ASP.NET建议

2010-04-28 12:02:37

Forefront网络优化

2009-02-12 15:14:00

固态硬盘企业级用户采购
点赞
收藏

51CTO技术栈公众号