У меня есть программа в python, использующая numpy и scipy. добавление Cython в нем будет время процесс принятия, поскольку есть много изменений типов данныхстоит ли переписывать мой код в cython?
Cprofile этого выглядит следующим образом: http://imgur.com/a/Sgvof
Большую часть времени (73%) расходуется на <scipy.integrate_odepack.odeint>
Мой вопрос в основном заключается в том, что использование cython ускоряет эту функцию (возможно, путем быстрого вызова) и остальное. Эта функция называется ~ 10^6 раз в этом примере. И если да, то сколько можно ускорить? Я считаю, если это преследует увеличения скорости по крайней мере 4x 5х
Примечание:
Если информация является недостаточной, пожалуйста, комментарий ниже, и я был бы рад предоставить
Спасибо
+1 для первого абзаца. Однако вызывающая последовательность Fortran (не C!) -> Python -> C не обязательно медленнее, чем Fortran -> Python. –
на самом деле, посмотрите изображение снова ... 'dX_dv' и' dX_du' являются функциями внутри его файла 'GRScalar.py'. '' не имеет ничего общего с этими функциями ... поскольку они являются тем, что OP вызывает ... Конечно, наличие образца исходного кода, который использует эти методы, сильно прояснит, что это происходит. –
g19fanatic
@ g19fanatic: Я не знаком с этим профилировщиком, но я понял, что 'dX_dv' вызывается' odeint' и считается, что это обратный вызов OP. –