Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Ruby进行高性能计算?_Ruby_Performance_Jruby_Macruby_Rubinius - Fatal编程技术网

使用Ruby进行高性能计算?

使用Ruby进行高性能计算?,ruby,performance,jruby,macruby,rubinius,Ruby,Performance,Jruby,Macruby,Rubinius,我的同事通常使用C或Fortran进行高性能计算(对大型数据数组进行数学运算)。我想知道是否有可能对Ruby代码进行编译/转换,并在性能方面接近优化的C代码 有许多项目可以将Ruby编译成字节码(Rubinius、JRuby、IronRuby、YARV?、Cardinal)和本机代码(MacRuby,…?)。他们接近C性能的机会有多大 将Ruby代码转换为C代码还有将近2年的非活动项目: 相关问题: 有一个选项您没有包括:在C中扩展Ruby相当容易,因此如果您有一组有限的操作需要快速,您

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

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

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


相关问题:


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


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

      如前所述,您需要使用带有ruby包装器的高性能库。不要低估使用java库进行科学计算的JRuby。

      为什么要这样做?别误会,我喜欢ruby,但知道你的驱动程序是什么会很好。您是否尝试过一些实验,或者您是否认为ruby会更慢?根据数据和计算的性质,性能差异可能不会太大,也可能很大。我们的代码非常复杂,如果我们可以用Ruby而不是C来编写它,那就太好了。然而,根据统计,目前的Ruby实现速度比C慢100倍。我们还需要在集群上运行代码,在集群中计算可能需要几天(C)。如果我们可以将Ruby代码编译成比C慢2-3倍的字节码,那么可能就没问题了。因子100对于我们的计算来说太慢了。非常感谢你的提示!这当然是最适合我的解决方案。对于那些感兴趣的人,Chris Lalancette最近发表了12篇关于这个主题的文章,开始于: