为什么Ruby1.9比Python2.7和3.2快?

2024-05-14 09:52:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我读了这一堆链接:http://pack.li/L

Ruby1.9的速度似乎是1.8的2倍。。。比Python2.7和3.2更快

我做了一些测试,不仅仅是递归(我知道python在这方面做得很差),还放了一些更标准的东西。

所以我的问题是:ruby团队是如何做到这一点的?2倍的改进? 它们是否包括JIT编译器/优化器或其他东西?


Tags: http标准编译器链接li团队速度pack
3条回答

我是一个狂热者,我想你没有充分阅读那些(相当老的)文章。两人都承认使用过……”耸人听闻的标题。他们使用的算法不是最优的。所以他们在我眼里没有什么价值。

我知道比较语言的“最佳”地方是http://benchmarksgame.alioth.debian.org/。我引用“best”是因为正如其他人所说,基于一系列特定实现的分段语言速度缺乏统计上的严谨性。

也就是说,如果将ruby 1.9与Python 3进行比较,可以得到these results

结果是:在使用的10个测试中,ruby 1.9在2个测试中比Python快。它在4中是相似的,在其余的中是比较慢的(最后一个例子很糟糕,我想称之为虚假的)

因此,根据这10个不同的测试,我们只能得出这样的结论:不,ruby一般来说并不比Python快。(仅在某些特殊情况下)。

所以你指了指一个博客,上面展示了一个算法的两个天真的实现,这个算法本身就很烂。。。然后,作者对这两个程序进行了比较,认为整个运行时环境(runtime environment)会把其他环境(other environment)吸走。

不仅这些基准测试没有证明任何东西(除了特定基准测试的执行速度),而且如果您实际查看了实现,您可以找到一些在python中更优化的位,创建自己的基准测试,该基准测试经常使用该位,并“证明”相反的结果。

除了对@egarcia和@viraptor的评论之外,我还想指出,这些基准测试比较的是Ruby和CPython,特别是python实现,而不是语言。有更快的python实现,比如PyPy。还有不同的Ruby实现。不能比较“语言性能”,只能比较特定的实现。

有关fast 2.x python-http://speed.pypy.org/的更多信息

相关问题 更多 >

    热门问题