Python 执行速度慢只是因为它是解释型语言吗?

发布于 2022-08-29 23:37:43 字数 100 浏览 11 评论 0

如果只是因为它是解释型语言的话,那有没有语法像Python一样简洁的编译型语言呐?

我也好奇这个问题,求解!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

撑一把青伞 2022-09-05 23:37:43

Python 不是解释型语言,事实上也没有「解释型」语言这个分类。

Python 性能略有不佳的原因可能有几个:

首先是 Python 希望自己是一个简单和优雅的语言,需要性能的组件通常用 C 实现,没有太多改进性能的动力。

然后 Python 具有垃圾回收和自动的内存管理功能,并且采用动态类型系统,会在运行时进行类型检查,这会不可避免地略微影响性能,使其不如静态类型(Java)或没有垃圾回收(C/C++)的语言。

摘自维基百科:

  • 「Python开发人员尽量避开不成熟或者不重要的优化。一些针对非重要部位的加快运行速度的补丁通常不会被合并到Python内。」
  • 「因为Python属于动态类型语言,动态类型语言是在运行期间检查数据的类型,不得不保持描述变量值的实际类型标记,程序在每次操作变量时,需要执行数据依赖分支」
一抹淡然 2022-09-05 23:37:43

python 速度並不一定慢,試試 pypy。

解釋性語言不見得就慢,如 JIT。

你的他你的她 2022-09-05 23:37:43

高度的抽象隐藏大量的细节,暴漏给用户最简单的接口,你写的一行代码,你觉得很舒服优雅很简单,但是支撑它正确运行的背后隐藏了大量的逻辑.这些逻辑被转化为较为低级的语言实现将会产生大量的代码.Python的动态解释也需要额外的计算和空间来实现,许多原因导致他看上去很慢,但是你用其他语言实现同样的事情,你可能需要花费更多的时间和更大的空间.这取决于你对另一种语言的理解深度.当然,理论上,python能做到的事情,c可以做的更好,但是,因为你永远能找到对特定场景的优化.对于公共的场景而言,python确实已经无可挑剔了.

嗫嚅 2022-09-05 23:37:43

解释型语言是一个问题,还有gc的机制问题,python的引用计数确实会慢些,堆栈式的,lua基于 Register-based virtual machine。 不过,基本有瓶颈的地方,加一些c扩展应该就好了,或者用pypy,cython这种实现。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文