我没有能力在网上找到它。我一直在寻找使用Profiler如何更好地优化我的代码的方法,以及在累积累积时间使用函数时,诸如STR(),PRINT和其他类似使用的功能之类的东西都吞噬了很多个人资料。介绍python程序以获取用户定义功能的最佳方法是什么,只是查看他们可以优化的代码中的哪些区域?

我希望这是有道理的,您可以对此主题阐明的任何光线都将不胜感激。

有帮助吗?

解决方案

好,我想你 真实的 目标是使您的代码尽可能快地使您的代码尽可能快,对吗?

自然可以假设您通过找出您的功能需要多长时间来做到这一点,但是还有另一种看待它的方法。

考虑到您的程序运行,它会发现一个呼叫树,这有点像窗口外面的真实树。后备箱就像 main 功能,任何分支从中拆分的地方都像调用另一个功能。

假设每个“叶子”需要一定时间,而您想做的是 修剪树 以清除尽可能多的叶子。

一种方法是找到有很多叶子并切断叶子的树枝。另一种方法是切断整个分支,如果您不需要它们。问题是要找到您不需要的重分支。

一种骨气简单的方法是随机挑选几片叶子,例如10叶子,在每个叶子上,将一条线一直沿其树枝一直追溯到后备箱。任何分支点都会有一些这些线路贯穿其中,从叶到后备箱。贯穿该分支点的线越多,该分支上的叶子就越多,通过修剪就可以节省的线越多。

这是您可以将其应用于程序的方法。 要采样叶子,您可以随机暂停程序,然后查看呼叫堆栈。那是回到后备箱的线。每个 致电站点 在其上(不函数,呼叫站点)是分支点。如果该呼叫站点在一定程度的样本中,例如40%,那么大约可以通过修剪它可以节省多少。

因此,不要将其视为衡量功能需要多长时间。可以将其视为问哪个呼叫站点“重”。这里的所有都是它的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top