“胖”和“快”:Python的下一个目标是什么?(内附基础资料)
建议对Python的常规解释器进行一组更改,这将在不使用编译器的情况下加快语言的执行速度
前言
由核心Python贡献者Victor Stinner牵头的FAT Python项目正在研究可以直接添加到Python解释器中的优化,而不会破坏与现有应用程序的兼容性。
Python的大多数速度优化,例如解释器的PyPy变体,都涉及到添加JIT (just-in-time)编译器。相反,FAT Python优化了Python的参考实现CPython的行为。
该项目最初是在2015年11月python-dev邮件列表中描述的,自那时起已经经历了几个里程碑。最近添加了用于其他语言的编译器(如循环展开和常量折叠)中看到的优化,所提议的更改通过了Python自己的绝大多数测试套件。
“Python很难优化,因为所有东西都是可变的,”Stinner在他为该项目提出的一个草案中写道,所以他正在考虑的优化必须考虑到这一点。例如,假设的一个更改是使用一个常量来加速流程,并有效地测试是否修改了所需的对象。
另一个建议(也是草案)涉及创建一个API来转换Python的ast(抽象语法树),通过这种机制可以在高层检查和修改Python代码。Stinner提出了一个用于AST转换器的API,它将使长期优化Python变得更加容易。
Python以易于开发和拥有由第一和第三方库组成的庞大生态系统而闻名,这掩盖了它的性能限制。但来自其他语言的竞争正在加剧——谷歌的Go、苹果最新开源的Swift和JavaScript——它们平衡了开发速度和执行速度。尽管如此,Python不太可能仅仅因为性能而被取代,因为它作为一种教学语言和通用开发语言的受欢迎程度在继续上升。
学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习python或者有兴趣学习python的伙伴可以私信回复小编“学习” 领取全套免费python学习资料、视频()装包
原文来自信息世界(翻译):侵删