Профилирование линий Cython 0,25
Я пытаюсь создать профиль некоторого кода, который я написал на Cython. Но я не могу заставить его работать.
Я попытался выполнить все шаги, приведенные в разделе Как профилировать функции Cython построчно
Но я не получаю никаких результатов в результате. То, что я сделал, размещено здесь:
Я использую Python 3.6 и Cython 0.25.2
Что я пытаюсь сделать:
Сначала я бегу:
python setup.py build_ext --inplace
В setup.py я добавил:
import Cython.Compiler.Options
Cython.Compiler.Options.get_directive_defaults()['profile'] = True
Cython.Compiler.Options.get_directive_defaults()['linetrace'] = True
Cython.Compiler.Options.get_directive_defaults()['binding'] = True
и к расширению, которое я добавил,
define_macros=[('CYTHON_TRACE', '1')]
В сценарии runMIcython.pyx я добавил:
@cython.profile(True)
@cython.linetrace(True)
@cython.binding(True)
Затем в оболочке ipython я пытаюсь запустить (занимает около 1 минуты):
%load_ext line_profiler
import line_profiler
import runMolecularIntegrals
profile = line_profiler.LineProfiler(runMolecularIntegrals.runCythonIntegrals)
profile.runcall(runMolecularIntegrals.runIntegrals)
profile.print_stats()
Но вывод, который я получаю:
Line # Hits Time Per Hit % Time Line Contents
==============================================================
10 cpdef
runCythonIntegrals(int [:,:] basisidx, double [:,:] basisfloat, int [:,:] basisint, double[:,:] input, double[:,:] Na, double[:,:] S, double[:,:] T, double[:,:,:,:] ERI):