{main函数的第二个执行时间按“}的最长时间”排序?我用pstat查看了相同的条目_查看器.py点击它就会显示:
Function Exclusive time Inclusive time Primitive calls Total calls Exclusive per call Inclusive per call
Tkinter.py:359:mainloop 0.00s 561.03s (26.3%) 1 1 0.00s 561.03s
这是什么意思?在
编辑
这是我代码运行较长时间后的cProfile输出的一部分。我解的ODE越多,花在mainloop上的时间就越多。这太疯狂了!我以为我的运行时会被CUDA内核中的分支分歧或主机GPU内存传输杀死。天啊,我是个糟糕的程序员!在
我怎么让Tkinter占用了我这么多的运行时间?在
{1美元^
mainloop
是Tkinter中的event loop。它等待事件,并在事件发生时对其进行处理。在这是一个反复出现的现象,您将在所有gui以及任何其他事件驱动框架(如Twisted或Tornado)中看到。在
首先,如果将制表符更改为空格,则更容易查看,如:
独占时间是指程序计数器在该例程中的时间。对于一个顶级的例行程序,你会认为这实际上是零。在
包含时间是指在例程调用的所有例程中包含时间。对于一个顶级的例行程序,你会期望这几乎是100%。 (我不明白这26.3%意味着什么。)
如果你想获得更高的速度,你需要做的是找到1)包含时间百分比高的活动,2)你可以做一些关于的事情。在
This link shows the method I use.
在你加速某件事之后,你仍然会发现一些事情需要很高的包含时间,但是总的花费时间会更少。 最终你会达到这样一个程度:有些东西仍然占很高的百分比,但你再也无法想出如何改进它。在
相关问题 更多 >
编程相关推荐