我的同事通常使用C或Fortran进行高性能计算(对大数据数据进行数学运算)。我想知道是否有可能编译/转换Ruby代码并在性能方面接近优化的C代码?
有许多项目可以将Ruby编译为字节码(Rubinius,JRuby,IronRuby,YARV?,Cardinal)和本机代码(MacRuby,...?)。他们有什么机会接近C表演?
将Ruby代码转换为C代码还有近2年的非活动项目:ruby2c。
相关问题:
答案 0 :(得分:4)
你没有包含一个选项:在C语言中扩展Ruby非常容易,所以如果你需要快速的一组有限的操作,你可以编写一个C扩展,然后使用Ruby。
http://people.apache.org/~rooneg/talks/ruby-extensions/ruby-extensions.html
答案 1 :(得分:4)
达到数值计算的C性能水平的最简单方法是使用专门的库,如Ruby/GSL,这些库已经是高度优化的编译C代码。最终的性能将取决于代码在库中花费的时间。
答案 2 :(得分:3)
如前所述,您将要使用带有ruby包装器的高性能库。不要使用Java库来折磨JRuby进行科学计算。