1

我正在尝试分析一个用 python 编写的 Blender 脚本。问题是大部分运行时间都花在“内置方法调用”上,我不知道这是什么。

谁能告诉我这种方法的作用或给我一些提示如何减少其计算时间?

cProfile 的示例输出为:

71193 function calls (63983 primitive calls) in 9.305 seconds
...
816    6.427    0.008    6.427    0.008 {built-in method call}
...

谢谢。

4

1 回答 1

2

这些是对用 C/C++ 编写的本机函数的调用。所有对本机函数的调用显然都通过callpython 运行时中的一个函数。

要使用 cProfile 进一步分析,您应该尽量避免深入挖掘call函数。模块化您的 Python 代码,以便清楚哪个部分占用了大部分时间,同时忽略 cProfile 输出中指向本机代码的行。

另一种方法是深入挖掘本机 Blender 源代码,这很可能是您想要避免的,而且在您的情况下也不是最好的主意。

于 2013-04-08T19:22:48.150 回答