【发布时间】:2014-11-30 20:33:26
【问题描述】:
我有一些性能关键代码会在极不可能的情况下崩溃和烧毁(例如,当中间 double 等于 0.0 时,该双精度值不太可能为零而不是任何其他值)。
当然,一种选择是吹口哨并忽略角落案例,并祈祷它永远不会出现。但如果可能的话,我想抓住它;另一方面,我不太热衷于将条件添加到性能关键代码中。添加表单检查有什么技巧吗
if(val == 0.0)
{
// extremely unlikely code path
}
以某种方式将性能损失降至最低?在某些编译器上可以传递 CPU 分支预测提示,但我听说这些对现代处理器不再有任何影响?
【问题讨论】:
标签: c++ performance