PyPy为什么能让Python比C还快?一文了解内在机制
来自|机器之心
「如果想让代码运行得更快,您应该使用 PyPy。」 - Python 之父 Guido van Rossum
对于研究人员来说,迅速把想法代码化并查看其是否行得通至关重要。Python 是能够实现这一目标的出色语言,它能够让人们专注于想法本身,而不必过度为代码格式等无聊的事情困扰。
但是,Python 有一个致命的缺点:速度比 C、C ++ 等语言慢很多。那么,构建一个 Python 原型测试想法之后,如何将其转变为快速且高性能的工具?通常来说,人们还要再进行一步工作:将 Python 代码手动转换为 C 语言的代码。但如果 Python 原型本身就可以运行得很快,那么转换代码的时间就可以做一些更有意义的事情。
而 PyPy,恰好可以解决这一问题。它能够让 Python 代码运行得比 C 还快。
import time
from termcolor import colored
start = time.time()
number = 0
for i in range(100000000):
number += i
print(colored('FINISHED', 'green'))
print(f'Ellapsed time: {time.time() - start} s')
为了证明 PyPy 的速度,使用默认的 Python 解释器和 PyPy 运行上述代码,执行一个从整数 0 加到 100,000,000 的循环, 然后打印出运行时间。运行结果如下:
赞 (0)