2013-04-08 125 views
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} 
... 

感谢。

+0

给[*此方法*](http://stackoverflow.com/a/4299378/23771)一试。 – 2013-04-08 18:34:42

回答

2

这些是对本地函数的调用,它们是用C/C++编写的。所有对本地函数的调用显然都是通过python运行时的call函数完成的。

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

另一种方法是深入研究原生Blender源代码,这很可能是您想要避免的,也不是您的案例中的最佳主意。