关于PyPy的症状 - 有时快6倍,有时慢4倍

时间:2016-10-05 18:29:49

标签: python performance sympy pypy

这里,pypy计算速度较慢,无论给定的数字是否为素数:

var example = typeof(string).GetTypeInfo().IsClass;

在这里,pypy可以更快地创建素数列表(从1到1000000):

C:\Users\User>python -m timeit -n10 -s"from sympy import isprime" "isprime(2**521-1)"
10 loops, best of 3: 25.9 msec per loop

C:\Users\User>pypy -m timeit -n10 -s"from sympy import isprime" "isprime(2**521-1)"
10 loops, best of 3: 97.9 msec per loop

非常令人惊讶,难以理解。

  

“如果你希望你的代码运行得更快,你应该只使用PyPy。” - Guido van Rossum(Python的创建者)

我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

isprime具有安装gmpy时的快速路径。 gmpy绑定到高度优化的C库,可能只安装在CPython上。