解释型 Python 能有多快?
编程语言
2013-08-15 v2
摘要
Python 是一种流行的动态语言,其吸引力很大程度上源于强大的库和扩展模块。这些库增强了语言功能,使其成为从 Web 开发(Django)到数值分析(NumPy)等各种任务的高效环境。不幸的是,与现代实现的 Lua 和 JavaScript 等语言相比,Python 的性能相当差。为什么 Python 远远落后于这些其他语言?正如我们所示,正是那些使 Python 成为强大语言的 API 和扩展库,也使其难以高效执行。鉴于我们希望保留对 Python 现有优秀扩展库的访问权限,那么它能变得多快?为了评估这一点,我们设计并实现了 Falcon,这是一个与标准 CPython 解释器完全兼容的高性能字节码解释器。Falcon 应用了多种众所周知的优化技术,并引入了若干新技术以加速 Python 字节码的执行。在我们的评估中,Falcon 在大多数基准测试中平均比标准 Python 解释器快 25%,在某些情况下甚至快约 2.5 倍。
引用
@article{arxiv.1306.6047,
title = {How fast can we make interpreted Python?},
author = {Russell Power and Alex Rubinsteyn},
journal= {arXiv preprint arXiv:1306.6047},
year = {2013}
}
备注
Tech Report