首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Python没有像现代Javascript实现那样被优化呢?

为什么Python没有像现代Javascript实现那样被优化呢?
EN

Software Engineering用户
提问于 2017-04-27 05:21:34
回答 2查看 8.9K关注 0票数 13

像V8 (Chrome)、SpiderMonkey (火狐)和Chakra (IE/Edge)这样的现代Javascript实现都有JIT编译和其他一些优化以提高性能。

为什么Python没有这些?

我一直在关注PyPy和IronPython,它们都声称速度有所提高。PyPy我不明白用Python (一种解释语言)编写的Python实现如何比C. IronPython中的参考实现更快,同样的想法,但我不知道.NET框架将如何提高速度。

EN

回答 2

Software Engineering用户

发布于 2017-04-27 05:46:41

像V8 (Chrome)、SpiderMonkey (火狐)和Chakra (IE/Edge)这样的现代Javascript实现都有JIT编译和其他一些优化以提高性能。为什么Python没有这些?

JavaScript包含在web浏览器中,现在有大量的软件被设计为在web浏览器中运行。这使得JavaScript的性能变得非常重要,让谷歌、苹果和微软等公司投入大量资源,使JavaScript运行时更快。如果这种资金流被重定向到Python,它将同样快。

我不明白用PyPy (一种解释语言)编写的Python实现怎么会比C中的参考实现更快。

这个想法是,一旦代码被JIT编辑,它就不再被“解释”了。PyPI的工作方式是将Python代码转换为机器代码(例如,x86_64机器代码),然后直接在处理器上执行。

票数 7
EN

Software Engineering用户

发布于 2017-04-27 07:18:09

如果您将您的python代码构造成模块,并以简单的顶层启动作为主要python文件(其中包含很少的代码),那么python将所有其他代码编译成与机器无关的字节代码,这些是您在目录结构中看到的.pyc文件。这将减少第一次运行后的加载和解释时间。

如果使用-O或-OO标志启动脚本,或将PYTHONOPTIMIZE设置为大于0的值,则会生成.pyo文件,这些文件将进一步优化。

如果需要对某些特定函数(S)进行高度优化,可以用C、C++、FORTRAN或GO编写它们,然后从python内部使用它们。

票数 -2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/347908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档