InfoQ

新闻

JRuby近况:带有Profiler的1.1.1版本、启动性能加速和GSoC '08

作者 Werner Schuster译者 李明(nasi) 发布于 2008年5月13日 上午12时47分

社区
Ruby,
Java
主题
性能和可伸缩性,
JRuby,
Ruby on Rails
标签
JRuby,
开源项目发布
JRuby 1.1.1的发布JRuby 1.1进行了bug修复,例如修复了一个在IBM的JDK上会出现问题的bug可以通过查看发布笔记来获得完整的bug修复和改进列表

一个新的特性是--profile选项。这可以让JRuby启动JIP(The Java Interactive Profiler)。JIP目前已经成为JRuby发布版的一部分,通过配置来实现它和JRuby的类载入器(class loader)的协同工作(JIP采用Java允许修改字节码的Instrumentation特性)。注意:JIP性能剖析的是JRuby运行时的字节码和运行时生成的字节码。

JRuby的性能方面有持续的改进,JRuby的Charles Nutter发现了一种提升JRuby启动性能的方法

我刚刚提交了一个修改到JRuby的启动脚本中,使得启动速度加快了近70%(在我使用的环境中)。它 将JRuby的jar(以及CLASSPATH)载入到bootclasspath中而不是普通的classpath,从而避免了验证过程(显然还有其他 的事情,因为这种方法比-Xverify:none还要快)。这同时也是一个安全的修改;JRuby的核心在发布以前会被验证无数次,而且在运行时生成的 代码会同以前一样被验证。

JRuby在Google Summer of Code (GSoC) 2008中也有一些项目参与其中:

  • RMagick for JRuby 开发者为Sergio Rodriguez Arbeo,指导人为JRuby的Thomas Enebo。此项目的目标是支持RMagick库,以便可以访问流行的ImageMagick。正如提到的项目概要一般,已经有一些对RMagick的支持存在于JRuby Extras项目中了,而这个项目包含了众多JRuby的库。 
  • Useful Rails Benchmarks and JRuby Rails Perf Analysis 开发者为Sergey Vidyuk,指导人为JRuby的Charles Nutter。此项目的目的是提升JRuby运行Rails的性能。

查看英文原文:JRuby Roundup: 1.1.1 with Profiler, Startup Performance Boost, GSoC '08

没有回复

回复

独家内容

Hadoop中的集群配置和使用技巧

本文介绍了Hadoop如何配置分布式框架运行环境,同时特别讲解了其中的一些细节。Hadoop可以单机跑,也可以配置集群跑,这里主要重点说一下集群配置运行的过程。本文是Hadoop入门实践三部曲的第二部。

JavaScript多线程编程简介

虽然有越来越多的网站在采用AJAX技术,但是开发复杂的AJAX应用仍然是个难题。本文探索了如何应用多线程缓解其中一些问题。

Ruby的开放类──或者:怎样避免动态打补丁

Ruby的开放类(Open Classes)功能强大,但很容易被误用。这篇文章关注于怎样减少使用开放类的风险,介绍了一些其他可替代的类似方法,并分析了其他语言如何实现类似的功能。

REST反模式

在本文中,Stefan Tilkov讲解了一些经常出现在自称“符合REST式设计”的应用中的反模式(比如:全部采用GET或POST,忽视缓存及响应代码,误用cookies,忘记超媒体与MIME类型,以及破坏自描述性等),并给出了避免这些反模式的对策。

分布式计算开源框架Hadoop介绍

Hadoop是Apache开源组织的一个分布式计算开源框架,在很多大型网站上都已经得到了应用,如亚马逊、Facebook和Yahoo等等。本文是Hadoop入门实践三部曲的第一部,主要讲述了What和Why的问题。

37 Signals的实用最小主义实践

本文结合37 Signals公司在开发Basecamp等产品时的实践,介绍了实用最小主义开发方法。实践证明,尤其是在开发Web应用时,这一方法非常有效。根据作者的观察,Google现在之所以那么成功,其所遵循的软件开发哲学和最小实用主义非常类似。

与林昊一起探讨OSGi

在今年5月份的网侠大会上,InfoQ中文站有幸与国内OSGi的先锋林昊(BlueDavy)在一起探讨了OSGi的相关话题,包括它的优势、复杂度以及Java下的实现等等。

超越F#基础——异步工作流

Robert Pickering在F#的第三篇文章中,他继续着上次的话题,不过这次他要关注的是异步工作流(Asynchronous Workflows),以及在使用这个特性后获得的性能改善。虽然这篇文章是关于F#的,但是这样的知识对于所有的.NET语言都是适用的。