gpt4 book ai didi

python - 装饰器给 Python 函数调用增加了多少开销

转载 作者:IT老高 更新时间:2023-10-28 21:12:20 24 4
gpt4 key购买 nike

我一直在为我的 pylons 应用程序使用计时装饰器,以便为特定功能提供即时计时信息。我通过创建一个装饰器并简单地将它附加到我想要计时的 Controller 中的任何函数来完成此操作。

但有人指出,装饰器可能会为调用增加相当多的开销,并且它们的运行速度比未装饰的函数慢 2-3 倍。

首先,我希望执行修饰函数比未修饰函数花费更长的时间,但我希望开销在千分之一秒内并且与 SQL 插入调用相比可以忽略不计。装饰器本身使用 time.time() 和一些非常简单的聚合进行简单的简单计时计算。

装饰器是否会为系统增加大量开销?我找不到任何东西来支持它。

最佳答案

使用装饰器增加的开销应该只是一个额外的函数调用。

装饰器所做的工作不是开销的一部分,因为您的替代方法是将等效代码添加到装饰对象。

因此,decorate 函数的运行时间可能是其两倍,但这是因为 decorator 正在做一些重要的工作,而这些工作与未修饰的函数所花费的时间大致相同。

关于python - 装饰器给 Python 函数调用增加了多少开销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3545690/

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