我正在研究Project Euler,并想知道我是否可以使用PyPy来加速我的解决方案.但是,我发现结果非常令人失望,因为它需要更多时间来计算.
d:\projeuler>pypy problem204.py
3462.08630405 mseconds
d:\projeuler>python problem204.py
1823.91602542 mseconds
Run Code Online (Sandbox Code Playgroud)
由于mseconds输出是使用python的time模块计算的,所以我使用内置的基准测试命令再次运行它.
d:\projeuler>pypy -mtimeit -s "import problem204" "problem204._main()"
10 loops, best of 3: 465 msec per loop
d:\projeuler>python -mtimeit -s "import problem204" "problem204._main()"
10 loops, best of 3: 1.87 sec per loop
Run Code Online (Sandbox Code Playgroud)
PyPy报告称完成运行需要大约半秒钟.但是,我尝试了多次运行pypy problem204,输出甚至从未接近基准测试.5秒.与pypy不同,python的mtimeit结果与输出一致.pypy给了我不准确的基准,还是有些魔法我不明白?