慢到窒息!没想到未编译Python比Go慢上这么多……

liftword2个月前 (03-04)技术文章17

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 倍。

这还比个啥呀……

点击链接,阅读全篇完整文章!

相关文章

为何我们用 Go 而非 Python 来部署机器学习模型?

Python 是当下最流行的机器学习语言,对这一点大家应该没有什么异议。不过很多机器学习框架进行实际计算使用的是 CUDA C/C++ 等语言,只是它们都提供了 Python 接口。因此,大多数机器学...

Go语言和Python哪一个更容易学呢?

Python和Go都是用于编写Web应用程序的强大的高级编程语言,它们之间有什么区别吗?下面本篇文章就来带大家认识一下Python和Go语言,介绍一下Python和Go之间的区别,希望对大家有所帮助。...

我们为什么用 Go 编写机器学习架构,却不用 Python?

“如果你有兴趣成为一名机器学习工程师,那么必须熟练掌握Python——但是,如果你对机器学习的基础架构感兴趣,则应该认真考虑Go。”作者 | Caleb Kaiser译者 | 弯月,责编 | 郭芮以下...

go语言和python哪个难

Python和Go都是用于编写Web应用程序的强大的高级编程语言,它们之间有什么区别吗?下面本篇文章就来带大家认识一下Python和Go语言,介绍一下Python和Go之间的区别,希望对大家有所帮助。...

《2020年开发者技能报告》发布:IT圈最想学Go和Python

【环球网科技报道 记者 林迪】日前,记者从编码社区HackerRank官网了解到,其公布的《2020年开发者技能报告》(以下简称为“报告”)显示,JavaScript是最知名的编程语言,其次分别是Ja...

Java、Go 和 Python 多线程性能对比

大家好,我是难瓜。今天分享多线程下这三门语言的表现。简介在计算机中,线程是可以由处理器独立执行的小指令序列。多线程在一个进程中是可能的,其中它们共享资源,例如指令和上下文。发现在运行多线程进程时效率最...