什么是 _PyEval_EvalFrameDefault?

What is _PyEval_EvalFrameDefault?

当我使用 perf 进行分析时,_PyEval_EvalFrameDefault 位于 CPU 用法的顶部。

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

您正在 运行在 CPythoninterpreter 中安装您的 Python 程序。当 Python 代码被翻译成字节码时,这个字节码不会 运行 在 CPU 本身上,而是由程序本身执行。这个解释器程序的核心是_PyEval_EvalFrameDefault。由于 perf 分析了 CPU 的指令,它只会看到一直在执行的这个函数。

为了了解哪些 Python 函数占用了大部分时间,您需要使用本机 Python performance analysis tool.