我正在尝试学习Cython,正在按照官方文档进行操作。最近,我尝试完成“http://docs.cython.org/en/latest/src/tutorial/profiling_tutorial.html”中提供的教程。
这里的目标是对一个Cython文档进行性能分析。
这就是我遇到麻烦的地方。
要进行性能分析的函数是(文件“calc_pi.py”):
“用于对函数进行分析的脚本(如文档中所发布的)是:”
我不确定应该运行哪个命令,也不确定是否是这个命令导致了错误。然而,在他们的页面上,没有提到这个问题。所以我只是运行了"python3 profile.py",结果出现了以下错误:
AttributeError: module 'cProfile' has no attribute 'runctx'
我知道我的错误可能很愚蠢和微小,但在经过一段时间的谷歌和查看stackoverflow之后,我找不到答案。
感谢您的帮助。
要进行性能分析的函数是(文件“calc_pi.py”):
def recip_square(i):
return 1./i**2
def approx_pi(n=10000000):
val = 0.
for k in range(1,n+1):
val += recip_square(k)
return (6 * val)**.5
import pstats, cProfile
import calc_pi
cProfile.runctx("calc_pi.approx_pi()", globals(), locals(), "Profile.prof")
s = pstats.Stats("Profile.prof")
s.strip_dirs().sort_stats("time").print_stats()
AttributeError: module 'cProfile' has no attribute 'runctx'
我知道我的错误可能很愚蠢和微小,但在经过一段时间的谷歌和查看stackoverflow之后,我找不到答案。
感谢您的帮助。
cProfile
的不同模块? - DavidW