Cython でいくつかのコードを最適化しようとしていますが、cProfileは十分な情報を提供していません。
プロファイリングをうまく行うには、多くのサブルーチン func2、func3、...、func40 を作成する必要がありますか?
に関数がありますが、多くの for ループと内部操作があることに注意してfunc1
くださいmycython.pyx
。しかし、cProfile はそれらのループの統計を教えてくれません。
2009 function calls in 81.254 CPU seconds
Ordered by: standard name
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.000 0.000 81.254 81.254 <string>:1(<module>)
2 0.000 0.000 0.021 0.010 blah.py:1495(len)
2000 0.000 0.000 0.000 0.000 blah.py:1498(__getitem__)
1 0.214 0.214 0.214 0.214 mycython.pyx:718(func2)
1 80.981 80.981 81.216 81.216 mycython.pyx:743(func1)
1 0.038 0.038 81.254 81.254 {mycython.func1}
2 0.021 0.010 0.021 0.010 {len}
1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}