如何分析cdef函数?

2024-06-28 15:06:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个应用程序,它使用许多nogilcdef函数,我想对它们进行分析 为了找到瓶颈。在

我试图将profile=True指令传递给Cython,但这些函数似乎不协调,cProfile.run()的输出包含调用cdef函数的函数的计时,而不是{}函数本身的计时。在

是否有其他指令或探查器可以用来分析cdef函数?在


编辑:this is link to the application file that I am referring to...。要配置文件,必须设置:

#cython: profile=True

在收割台。在


Tags: to函数runtrue应用程序编辑指令this
1条回答
网友
1楼 · 发布于 2024-06-28 15:06:42

探查器需要gil,因此,在@Veedrac的注释的帮助下,解决方案是:

  • 只使用不带nogil指令的cdef函数
  • .pyxor somewhere else)的头上设置#cython: profile=True

这里的缺点是,通过删除nogil,不能使用prange来分析并行执行。还有一个问题。。。是否可以分析nogil函数?在

相关问题 更多 >