這裏,pypy是在計算速度較慢,是否給定數是素數:Sympy上PyPy - 有時6X更快,有時4X慢
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是創造素數的列表快(從1到1000000):
C:\Users\User>pypy -m timeit -n10 -s"from sympy import sieve" "primes = list(sieve.primerange(1, 10**6))"
10 loops, best of 3: 2.12 msec per loop
C:\Users\User>python -m timeit -n10 -s"from sympy import sieve" "primes = list(sieve.primerange(1, 10**6))"
10 loops, best of 3: 11.9 msec per loop
非常令人驚訝,很難理解。
「如果你想你的代碼運行速度更快,你應該只使用PyPy。」 - 吉多·範羅蘇姆(Python的創造者)
我缺少的東西?
PyPy的優點對於只執行一次計算的非常簡短的示例就不會顯而易見。查看[本頁]的底部(http://pypy.org/performance.html)。 – BrenBarn
您是否嘗試過多次初始計算?我嘗試了幾次,而且我總是通過'pypy'獲得(稍微)更好的時間! (如果有問題,請試用Linux Mint) –
我嘗試了幾次,總是得到相同的結果。這裏有一個: – lifolofi