【发布时间】:2011-04-02 12:30:27
【问题描述】:
我一直在为我的 pylons 应用程序使用计时装饰器,以便为特定功能提供即时计时信息。我通过创建一个装饰器并简单地将它附加到我想要计时的控制器中的任何函数来完成此操作。
但有人指出,装饰器可能会为调用增加相当多的开销,并且它们的运行速度比未装饰的函数慢 2-3 倍。
首先,我希望执行一个修饰函数比未修饰函数花费更长的时间,但我希望开销在千分之一秒内并且与 SQL 插入调用相比可以忽略不计。装饰器本身使用 time.time() 和一些非常简单的聚合进行简单的简单计时计算。
装饰器是否会为系统增加大量开销?我找不到任何东西来支持它。
【问题讨论】:
-
装饰本身的开销是可衡量的,但远不及 2-3 倍。这没有考虑装饰行为,这可能会非常耗时,具体取决于您在做什么(数据库更新、从月球反弹的信号等)。
-
+1 用于从月球反射信号
-
同样,但保留 +2 以供将来评论:“同步月球信号弹跳”
标签: python performance decorator