【发布时间】:2013-02-24 07:46:38
【问题描述】:
如果我们删除所有带有错误返回值的 try-catch 的异常处理代码,代码执行会不会有持续的性能提升或 % 性能提升?
是否有很好的文章/参考资料可以解释第一次投掷、try-catch 的成本以及后续投掷、try-catch 块的成本?
这个问题的目的不是要找到一个阈值,在这个阈值上人们可能会针对异常进行错误返回样式的编码。我们都知道这很混乱。 (更快但很混乱)。
我希望量化 try-catch 的成本及其对 w.r.t 的影响。 0 对 1 的 try-catch 块和 1 对 n 的 try catch 块。
【问题讨论】:
-
"如果我们删除所有带有错误返回值的 try-catch 的异常处理代码," - 那么您将获得一张代码地狱的免费门票!
-
不要担心过早的微优化。如果您不使用 try/catch 进行程序控制流,则不会有问题。另外,先进行基准测试。
-
没有关于性能的假设性。只有通过剖析获得的事实和数据。
-
@OP 将其视为 stackoverflow.com/questions/1018800/… 的副本是否公平?
-
还有这个相关问题:stackoverflow.com/questions/43253/…
标签: c++ exception exception-handling