我的同事通常使用C或Fortran进行高性能计算(对大型数据数组进行数学计算)。我想知道是否有可能编译/转换Ruby代码,并在性能上接近优化的C代码?
有许多项目要编译(Rubinius、JRuby、IronRuby、YARV?、Cardinal)和本机代码(MacRuby,.?)。他们接近C性能的机会有多大?
还有一个几乎两年的非活动项目,可以将Ruby代码转换为C代码:ruby2c。
相关问题:
发布于 2011-07-19 09:19:14
有一个选项您没有包括:在C中扩展Ruby相当容易,所以如果您有一组需要快速的操作,您可以编写一个C扩展,然后从Ruby中使用它。
http://people.apache.org/~rooneg/talks/ruby-extensions/ruby-extensions.html
发布于 2011-07-19 13:30:22
对于数值计算来说,达到C性能水平的最简单方法是使用像Ruby/GSL这样的专门库,这些库已经是高度优化编译的C代码。最后的性能将取决于您的代码将花费多少时间在库中。
发布于 2011-07-19 14:18:00
如前所述,您将希望使用带有红宝石包装的高性能库。不要低估使用java库进行科学计算的JRuby。
https://stackoverflow.com/questions/6744709
复制相似问题