从发布在 PyPy Speed Center 上的基准测试来看,除了两个测试之外,PyPy 似乎都比 CPython 快。
在“slowspitfire”和“waf”这两个测试中,CPython 比 PyPy 快。这是为什么?这两个测试测试什么样的操作?是什么让 CPython 对这些操作更快?PyPy 是否有望在这两个测试中赶上并击败 CPython?
从发布在 PyPy Speed Center 上的基准测试来看,除了两个测试之外,PyPy 似乎都比 CPython 快。
在“slowspitfire”和“waf”这两个测试中,CPython 比 PyPy 快。这是为什么?这两个测试测试什么样的操作?是什么让 CPython 对这些操作更快?PyPy 是否有望在这两个测试中赶上并击败 CPython?
正如 Tobu 所说,邮件列表中有一条消息简要说明了 slowspitfire:其中包含 GC 对象的长列表,以及其他因素。
waf 基准在性能上的明显差异较小,我猜答案会更复杂:一些因素 PyPy 做得更好,一些因素 CPython 做得更好,整体 CPython 稍微领先。
一般来说,JIT 优化的实现会变慢有几个原因: