越来越觉的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-server myscript.rb
<!---->
分享到:
相关推荐
《实战Java虚拟机——JVM故障诊断与性能优化》内容简介:随着越来越多的第三方语言(Groovy、Scala、JRuby等)在Java虚拟机上运行,Java也俨然成为一个充满活力的生态圈。本书将通过200余示例详细介绍Java虚拟机中的...
- **性能优化**:这一版本继续提升了 JRuby 的性能,尤其是在处理大型数据集和并发任务时。 - **Bug 修复**:大量的已知问题得到修复,提高了整体的稳定性和可靠性。 - **Java 7 支持**:JRuby 1.7.8 开始支持 Java ...
《实战Java虚拟机——JVM故障诊断与性能优化》将通过200余示例详细介绍Java虚拟机中的各种参数配置、故障排查、性能监控以及性能优化。 《实战Java虚拟机——JVM故障诊断与性能优化》共11章。第1~3章介绍了Java...
- **性能提升**:相比早期版本,1.3.1可能包含了性能优化,使Ruby代码在JVM上的执行效率更高。 - **稳定性和bug修复**:这个版本可能修复了一些已知的问题,提高了整体的稳定性和可靠性。 4. 包含的子文件“jruby...
3. **性能提升**:得益于JVM的优化,JRuby在某些场景下可以提供比纯解释执行的Ruby更好的性能。 4. **并发性**:JRuby可以充分利用JVM的多线程特性,实现高效的并发处理。 回到“jruby-src-1.0.zip”这个压缩包,...
由于JRuby是基于JVM(Java Virtual Machine)的,因此可以利用Java生态中的各种工具来对其进行监控和优化。本文将详细讲解如何监控JRuby脚本的执行,以及如何使用jprofiler这一强大的性能分析工具。 首先,理解...
本书将通过200余示例详细介绍Java虚拟机中的各种参数配置、故障排查、性能监控以及性能优化。 本书共11章。第1~3章介绍了Java虚拟机的定义、总体架构、常用配置参数。第4~5章介绍了垃圾回收的算法和各种垃圾回收器...
JRuby还支持Just-In-Time(JIT)编译,这意味着频繁执行的代码块会被自动优化成本地机器代码,从而提高运行时性能。 在JRuby中,你可以直接调用Java类库,就像调用Ruby内置函数一样简单。这对于集成Java框架,如...
1. **性能提升**:由于JRuby运行在JVM上,它能够利用JVM的优化技术,如即时编译(JIT),提高运行速度,尤其对于计算密集型任务,JRuby的性能通常优于纯Ruby解释器。 2. **兼容性**:JRuby可以调用Java类库,这意味...
同时,也可能会讨论JRuby与其他Ruby实现(如Rubinius或TruffleRuby)的对比,以及它在企业级应用、性能优化、多线程支持等方面的表现。 【标签】:“源码”、“工具” “源码”标签暗示了博文中可能包含对JRuby源...
3. **性能提升**:由于JRuby运行在JVM上,它可以利用JVM的优化技术,如Just-In-Time(JIT)编译,从而提高运行效率。 4. **Rails支持**:对于Web开发,JRuby支持Ruby on Rails框架,可以在Windows环境下搭建高效...
它不仅保留了Ruby语言简洁且强大的特性,还充分利用了Java平台的强大功能,如性能优化、垃圾回收机制等。由于Ruby本身具备高度的面向对象编程能力以及灵活的语法结构,这使得它在编写测试脚本时变得非常高效。 ####...
6. **JRuby的版本管理**:"0.9.0"是JRUBY的一个早期版本,随着时间的推移,它不断迭代和改进,增加了更多功能和性能优化。最新的版本可能包括更多的特性、修复了已知问题,并提高了与Ruby社区的兼容性。 7. **安装...
4. **性能优化**:探讨JRuby在Java平台上的性能表现,提供优化Ruby代码和Rails应用的技巧,以及如何利用Java虚拟机的性能监控工具。 5. **部署策略**:介绍如何在生产环境中部署JRuby和Rails应用,包括使用Tomcat、...
《实战Java虚拟机——JVM故障诊断与性能优化》将通过200余示例详细介绍Java虚拟机中的各种参数配置、故障排查、性能监控以及性能优化。, 《实战Java虚拟机——JVM故障诊断与性能优化》共11章。第1~3章介绍了Java...
2. **性能优化**:由于JRuby运行在JVM上,因此可能讨论了如何利用JVM的多线程和内存管理特性,以及如何通过调优JRuby和Rails应用来提高性能。 3. **企业级集成**:JRuby的Java兼容性使得它可以方便地与企业级Java...
8. ** JRuby的版本历史**:1.1b1是JRuby的一个早期版本,后续的版本可能会包含更多改进、优化和新特性。每个版本的更新通常会修复已知问题,提高兼容性,或引入新的语言特性。 综上所述,"jruby-src-1.1b1.zip"包含...
JRuby 1.7.9 是该版本线的一个特定发布,可能包含了对 Ruby 1.9.x 版本的兼容性优化和一些已知问题的修复。 描述中的 "opencmsmoduleswar.zip" 提到了 OpenCMS,这是一个开源的内容管理系统,主要用于构建和管理...