什么是 _PyEval_EvalFrameDefault?

Fra*_*ale 2 python profiling python-3.x python-internals perf

当我使用 perf 进行分析时,_PyEval_EvalFrameDefaultCPU 使用率位于顶部。

但我不知道那是什么。我怎样才能避免这个功能?

Zul*_*lan 5

您正在 CPython解释器中运行 Python 程序。虽然 Python 代码被转换为字节码,但该字节码并不在 CPU 本身上运行,而是由程序本身执行。这个解释程序的核心是_PyEval_EvalFrameDefault. 由于perf分析了 CPU 的指令,它只能看到该函数一直在执行。

为了了解哪些Python函数占用了大部分时间,需要使用原生的Python性能分析工具