gpt4 book ai didi

Windows 中的 Python 分析,如何忽略内置函数

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:58 25 4
gpt4 key购买 nike

我无法在网上的任何地方找到它。我一直在寻找如何使用分析器来更好地优化我的代码,以及在按哪些函数累计使用最多时间进行排序时,诸如 str()、print 和其他类似的广泛使用的函数占用了大部分配置文件。分析 python 程序以获取用户定义函数的最佳方法是什么,只是为了查看他们可以优化代码的哪些区域?

我希望这是有道理的,如果您能就此主题发表任何看法,我们将不胜感激。

最佳答案

好的,我假设您的真正目标是让您的代码尽可能快,对吧?

很自然地假设您通过找出您的函数需要多长时间来做到这一点,但还有另一种方式来看待它。

考虑一下,当您的程序运行时,它会追踪出一个调用树,这有点像您窗外的一棵真正的树。主干就像 main 函数,任何分支从它 split 出来的地方就像调用另一个函数。

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

一种方法是找到叶子很多的 Twig ,然后剪掉叶子。另一种方法是在不需要时切断整个分支。问题是找到不需要的繁重分支。

一个非常简单的方法是随机摘下几片叶子,比如 10 片,然后在每片叶子上沿着 Twig 画一条线,一直追溯到树干。任何分支点都会有一些这样的线从叶到树干通过它。通过该分支点的线越多,该分支上的叶子就越多,通过修剪它可以节省更多。

Here's how you can apply this to your program.要对一片叶子进行采样,您可以随机暂停程序并查看调用堆栈。那是回到主干的线路。它上面的每个调用点(不是函数,调用点)都是一个分支点。如果该调用站点位于样本的一小部分(例如 40%)上,那么这就是您通过修剪它可以节省的大致费用。

因此,不要将其视为衡量功能需要多长时间的指标。将其视为询问哪些调用站点“重”。仅此而已。

关于Windows 中的 Python 分析,如何忽略内置函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2741520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com