我需要在程序的一部分中使用Ruby编写更多的性能。 在Python中,我可以使用Psyco库(编译代码或执行前的一部分)来提高性能,但我不知道Ruby中是否存在类似的东西。
谢谢!
答案 0 :(得分:2)
如果您了解C,您可以通过使用rubyinline掺杂到C来优化代码的小部分。我不知道你可以期待看到什么样的性能改进,但如果你在代码的c位中调用一些c liberys而不是ruby你应该开始看到一些大的加速
要求'内联'
类MyTest
def factorial(n)
f = 1
n.downto(2) { |x| f *= x }
f
end
inline do |builder|
builder.c "
long factorial_c(int max) {
int i=max, result=1;
while (i >= 2) { result *= i--; }
return result;
}"
end
端
开始使用: sudo gem install RubyInline
答案 1 :(得分:1)
我想不,但你可以boost performance使用Ruby 1.9。
无论如何你必须小心,因为a lot of things in the language已经改变了。
答案 2 :(得分:1)
earcar是对的
你可以将你的ruby更新为1.9.x,实际上所有版本的ruby都来自1.9,它带有YARV,比旧的ruby解释器快得多,当然,假设你已经安装了以前的版本。
如果你需要更快的速度......你可以用c ruby扩展名编写代码。 Here an example..
这会快得多,但你必须知道用c编程。