2

异常处理会产生间接成本(据我所知)......而且我很欣赏 IF 语句/分支会导致代码变慢。但是,假设您的程序在 99.9% 的时间内正确运行,则分支预测器在大多数情况下都会正确猜测,并且您不需要在整个程序中进行异常处理开销......

因此,在性能关键的应用程序中,使用 IF 语句而不是传统的异常处理来检测错误是否更好?

4

1 回答 1

6

异常处理的典型实现不会比语句增加更多的开销(在速度方面)if(甚至可能会增加一点)。通过合理谨慎的使用,它还可以减少代码混乱,增强可读性。

IOW,对于完全有意义的代码,它通常是一个相当大的胜利,几乎没有缺点。主要的潜在缺点是更大的可执行文件,并且需要运行时支持,因此它并不真正适合设备驱动程序之类的东西(至少通常如此)。

于 2013-03-22T23:12:43.427 回答