【发布时间】:2010-05-12 05:41:07
【问题描述】:
如果您过早退出 try 块(例如执行 return 语句),Windows 机器上的异常处理(至少对于 C++)会降低性能,就像抛出异常一样。
但是 C# 呢?无论是通过 return 语句还是 break 语句,从 try 块中提前返回是否会影响性能?
【问题讨论】:
-
“如果你过早退出 try 块,Windows 机器上的异常处理(至少对于 C++)会降低性能......就像抛出异常一样。” 嗯……真的吗?这是非常令人惊讶的。数据?
-
Jeffrey Richter 的“Windows via C/C++”中介绍了 C++ 中过早退出的性能问题。
-
实际报价是多少?因为我看不出
return-ing 出try块和“正常”退出它之间有什么区别。异常结构中的成本通常在进入和退出时(不管如何),在现代系统中它们的成本都非常非常小,并且实际上抛出异常,这确实是非常昂贵的。 (不过没关系,根据定义!这是一种特殊情况。)
标签: c# performance exception