Ruby Rubinius 2.0 终于出了!

ksec · October 05, 2013 · Last by ksec replied at October 07, 2013 · 4630 hits

查了一下,很多评测的结果是之前的版本还没 jruby 快

还活着呢?

Rubinius 只是在多 CPU 时并发比较好吧?

An implementation of Ruby designed for concurrency using native threads to run Ruby code on all the CPU cores.

一些亮点

  • 把标准库都变成 gem 了,见 rubysl 系列 (也给安装增加了难度)
  • 使用了比较高端的 immix GC, 空间,时间,pause 三大长处合一。同时它还是 parallel incremental 的 GC, 最近代码没有看,不知道有没有做到 G1GC 那样连 Mutator 粒度都可控。
  • Fiber 是通过直接操作寄存器而不是长跳转实现的
  • 在 travis-ci 上增加 rbx 的测试,可以发现某些潜在问题 (尤其是对有 C-ext 的项目), 让你的项目更稳健
  • 把 CRuby 里很多用 C 实现的内容改成用 Ruby 实现了 (当然 FFI 比 CRuby 慢是原因之一,分代 GC 的代价)
  • meta circular 编译器,会把特殊的 code pattern 和函数替换成更底层的代码 (所以安装也会变慢咯)
  • 同样是基于 LLVM 的 python 解释器 unladen swallow 已经死了,但 rubinius 还活着...
  • 相容的 C-api, 一些数值计算的测试如 nbody 已经比 jruby 快了 (不过现在 CRuby, JRuby, Rubinius 的测试结果已经比较接近了)
  • 使用 puma 的多线程 rails 项目在 rbx 上跑,单进程部署就能充分利用所有核了。

Update with Benchmarks.

You need to Sign in before reply, if you don't have an account, please Sign up first.