通过C-api分析Python(如何?)



我已经使用Python的C-API在我的c代码中调用了一些Python代码,现在我想分析我的python代码的瓶颈。我遇到了PyEval_SetProfile API,但不确定如何使用它。是否需要编写自己的分析函数?

如果您能提供一个例子或指出我的例子,我将不胜感激。

如果你只需要知道在Python代码中花费的时间

,而不是(例如),在Python代码中花费的时间最多,那么Python分析工具就不是你想要的。 我会编写一些简单的 C 代码,对 Python 解释器调用前后的时间进行采样,并使用它。 或者,C 级分析工具,用于将 Python 解释器作为 C 函数调用进行度量。

如果你需要在 Python 代码中进行剖析,我不建议编写自己的剖析函数。 它所做的只是为您提供原始数据,您仍然需要汇总和分析它。 相反,请在 Python 代码周围编写一个 Python 包装器,该包装器调用 cProfile 模块来捕获数据,然后您可以检查这些数据。

最新更新