加入收藏 | 设为首页 | 会员中心 | 我要投稿 通化站长网 (https://www.0435zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

Python代码比Go慢100倍,编译后呢?

发布时间:2021-03-09 13:48:15 所属栏目:动态 来源:互联网
导读:我看来,编译型代码有两个明显的优势: 每次修改代码都可以得到验证,甚至是在开始运行代码之前。 更快的执行速度。根据具体情况,代码可能被编译成非常底层的运行指令。 我之所以要写这篇文章,是想比较一下编译型代码的执行速度会比解释型快多少。 因为我

我看来,编译型代码有两个明显的优势:

每次修改代码都可以得到验证,甚至是在开始运行代码之前。

更快的执行速度。根据具体情况,代码可能被编译成非常底层的运行指令。

我之所以要写这篇文章,是想比较一下编译型代码的执行速度会比解释型快多少。

因为我偏爱编译型编程语言,所以现在有个问题:我手头有很多感兴趣的代码,但它们都是用 Python 写的,我该怎么办?全部重写?部分重写?完全不重写?

先入之见  

在这篇文章里,我通过比较 Java、Go 和 Python 在处理不同任务时的性能表现来验证我对它们的一些先入之见。首先是 Python,我正在考虑要不要把它替换掉。至于 Java,我已经是 20 多年的粉丝了,一路看着它成熟,不管是性能还是功能都在变得更好。最后是 Go,我两年前才开始用它,但真的很喜欢它。虽然 Go 相比 Java 还缺失了一些特性,比如类继承,但它的语法简洁而紧凑,编译和执行速度都很快,生成的代码也很紧凑,还提供了优雅的 goroutine 来实现并发处理。

以下是我的一些先入之见。

编译型代码的执行速度比解释型代码要快一个数量级。之前,我比较了使用 JIT 和不使用 JIT 编译 Java 代码所获得的性能,它们的比率大概是 30 比 1。

Go 的运行速度比 Java 要快一点。我记得在之前的工作中做过一些测试,发现 Go 在处理某些任务时要比 Java 快 30%,但最近一些文章又说 Java 比 Go 快。

先来测试一把  

我在之前的一篇文章中通过一些代码比较过 JIT 的性能,后来使用 Python 和 Go 也实现了一遍。这段代码计算 100 的 Fibonacci 数值,每一轮计算 50 次,并打印执行时间(纳秒),共计算 200 轮。代码可以

(编辑:通化站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!