【发布时间】:2010-11-12 04:36:58
【问题描述】:
为什么使用 try catch 对应用程序性能不利?
我并不是说要使用 try catch 100 次。实际上,当我使用它数千次时。
真的会导致性能问题吗?
谢谢
【问题讨论】:
标签: actionscript-3 performance coding-style try-catch
为什么使用 try catch 对应用程序性能不利?
我并不是说要使用 try catch 100 次。实际上,当我使用它数千次时。
真的会导致性能问题吗?
谢谢
【问题讨论】:
标签: actionscript-3 performance coding-style try-catch
try/catch(作为匿名函数)将创建一个 Activation 对象,该对象将使用更多内存,并且不会为您的局部变量使用寄存器。 所以使用它会消耗内存并减慢使用它的整个函数。
您可以查看avm2 performance PDF,例如它没有讨论 try/catch,但您可以查看描述匿名函数的方法关闭章节,并使用相同的机制进行 try/catch。
【讨论】:
说到将异常用作一般做法,请记住异常是“异常的”。只要您将它们用于它们的用途 - 处理不应该发生的事件,就应该没问题。
因此,不要尝试将异常用于分支、实现子例程或传递信息,它不应该对性能产生影响。即使它很重,它也意味着要在很长很长时间内调用一次。或者最好,从来没有。
【讨论】:
是的,当它捕获错误时,try and catch 语句非常慢(与其他操作相比)。显然它有其目的,但从不依赖于 try and catch 语句进行逻辑控制。它用于保护可能发生错误的代码(如文件 IO)。
【讨论】: