JRuby 刚刚发布了维护发布版JRuby 1.0.1,这次发布主要包含的是 Bug 修复。 1.0.1 发布版已经可以在 JRuby 网站上下载了。
此外,JRuby 1.1的计划也被发布到网上,该版本计划于十一月上旬的 RubyConf 之前发布。计划内容如下:
- 完成编译器
- AOT 编译与 jrubyc 协同工作
- stdlib 完全预编译完成
- gem 安装预编译完成
- JVM 内部的虚拟文件系统(可能实现)或者经过 Hack 之后可以在存档之外运行的 rubygems
- 将性能提升定量化……Java 集成、运行和内存占用率的缩减
- Yarv 字节码的执行和编译(可能实现)
- 将 AST 共享作为一个选项(跨多个运行时共享)……有必要对 AOT 编译和它对内存的(积极?)影响进行探究
- 对多核线程的真正利用,可以测试的多线程安全的核心类(可能实现,需要在多核系统上进行大量测试)
- 将 Java API Ruby 化,可能需要“javax.swing”等
注:AOT编译的意思是预先(Ahead Of Time)编译,就是指 Ruby 源代码可以预先被编译成为 class 文件。这和JIT编译正好相反,JIT 发生在运行期,是 Just In Time(即时)的意思。
AST 共享(AST Sharing)则是为了在多个 JRuby 运行时在同一个 JVM 进程运行的情况下减少内存使用量的一个机制。AST 的全称是 Abstract Syntax Tree(抽象语法树),表示源代码的一个数据结构,该数据结构会被解释器和多个编译器使用到(AOT,JIT)。
评论