慢到窒息!没想到未编译Python比Go慢上这么多……
Python和Go比速度,结果真是惨不忍睹。
近日,一位名叫罗德里戈·拉米雷斯(Rodrigo Ramirez)的技术人做了一个实验,用来研究编译型代码的执行速度会比解释代码快多少,结果让人很窒息……
罗德里戈在之前的一篇文章中曾通过一些代码比较过JIT的性能,后来使用Python和Go也实现了一遍。这段代码计算 100 的 Fibonacci 数值,每一轮计算 50 次,并打印执行时间(纳秒),共计算 200 轮。这些代码可以在 GitHub 上找到。
结果显示,在计算 Fibonacci 数值时,Java 比 Go 要慢一些,大概慢 24%,而 Python 几乎慢了 100 倍,也就是 9458%。
这个结果不仅让罗德里戈大吃一惊,也同样让小编大吃一惊,因为它慢的不是一个数量级,而是两个!
在进行了一些调研之后,罗德里戈决定使用PyPy测试一下相同的Python代码。PyPy 是 Python 的另一个实现,它本身就是使用 Python 开发的,包含了一个像 Java 那样的 JIT 编译器。跟 Java 一样,我们需要忽略初始的输出,并跳过 JIT 编译过程,得到的结果是:PyPy 的平均响应速度比 Python 快 5 倍,但仍然比 Go 慢 20 倍。
这还比个啥呀……
点击链接,阅读全篇完整文章!