3

我的同事通常使用 C 或 Fortran 进行高性能计算(大型数据数组的数学运算)。我想知道 Ruby 代码是否有可能被编译/转换并在性能方面接近优化的 C 代码?

有许多项目可以将 Ruby 编译为字节码(Rubinius、JRuby、IronRuby、YARV?、Cardinal)和本机代码(MacRuby、..?)。他们有什么机会接近 C 性能?

还有将近 2 年的非活动项目将 Ruby 代码转换为 C 代码:ruby​​2c


相关问题:

4

3 回答 3

4

您没有包括一个选项:在 C 中扩展 Ruby 相当容易,因此如果您有一组有限的操作需要快速,您可以编写一个 C 扩展,然后从 Ruby 中使用它。

http://people.apache.org/~rooneg/talks/ruby-extensions/ruby-extensions.html

于 2011-07-19T09:19:14.510 回答
4

达到数值计算的 C 性能水平的最简单方法是使用专门的库,如Ruby/GSL,它们已经是高度优化的编译 C 代码。最终性能将取决于您的代码在库中花费的时间。

于 2011-07-19T13:30:22.967 回答
3

如前所述,您将希望使用带有 ruby​​ 包装器的高性能库。不要打折 JRuby 使用 Java 库进行科学计算。

于 2011-07-19T14:18:00.370 回答