Eri*_*ric 10 ruby python performance
我读了这一堆链接:http://pack.li/L
ruby 1.9似乎比1.8快2倍,比python 2.7和3.2快
我做了一些测试,它不仅仅是递归(我知道python对此很糟糕),也提供更多标准的东西.
所以这是我的问题:红宝石团队是如何做到的?2倍改善?它们是否包含JIT编译器/优化器或其他东西?
kik*_*ito 28
我是一个rubyist,我认为你没有完全阅读那些(相当古老的)文章.两人都承认曾使用过......"耸人听闻"的头条新闻.并且他们使用的算法并不是最优的.所以他们在我眼里没什么价值.
我所知道的用于比较语言的"最佳"地点是http://benchmarksgame.alioth.debian.org/.我引用"最佳"是因为正如其他人所说,基于一堆特定实现的语言速度的提升缺乏统计学的严谨性.
也就是说,如果你在Ruby 3中使用ruby 1.9,你会得到这些结果
结果是:在使用的10个测试中,ruby 1.9在2个测试中比Python快.它在4中相似,而在其余部分则较慢(最后一个例子非常糟糕,我很想把它称为虚假)
因此,根据这10个不同的测试,人们只能得出结论,不,ruby并不比Python更快.(仅在某些特定情况下).
因此,您指出了一个博客,该博客显示了2个简单的算法实现,这个算法很糟糕......然后作者比较了这两个人为的程序,并决定整个"(运行时环境)抽烟(其他环境)".
不仅那些基准测试没有证明任何东西(除了特定基准测试的执行速度),但是如果你实际查看了实现,你可以找到一些在python中更优化的位,创建自己的基准测试,经常使用该位并"证明"相反的结果.
除了@egarcia和@viraptor的评论之外,我还要注意这些基准测试比较Ruby和CPython,特别是python实现,而不是语言.有更快的python实现,比如PyPy.并且还有不同的Ruby实现.您无法比较"语言表现",只能比较具体实施.
有关快速2.x python的更多信息 - http://speed.pypy.org/