hotshot を使用して単純な python プログラムをプロファイリングする方法を学ぼうとしていましたが、奇妙なエラーに直面しています。
import sys
import hotshot
def main(argv):
for i in range(1,1000):
print i
if __name__ == "__main__":
prof = hotshot.Profile("hotshot_edi_stats")
b,c = prof.runcall(main(sys.argv))
prof.close()
そして出力、
.
.
995
996
997
998
999
Traceback (most recent call last):
File "t.py", line 9, in <module>
b, c = prof.runcall(main(sys.argv))
File "/usr/lib/python2.5/hotshot/__init__.py", line 76, in runcall
return self._prof.runcall(func, args, kw)
TypeError: 'NoneType' object is not callable
なぜこれが起こるのか誰にも分かりますか?hotshot プロファイラー自体の問題のように思えます。あるいは、Python プログラムをプロファイリングするための他の方法について提案がありますか?
ありがとう!