高级语言条件语句效率问题
“通常为了减少时间损失,采用猜测法,即当条件转移指令从取指阶段进入执行阶段时,指令部件仍按顺序预取下一条指令。这样,如果条件不成立,转移没有发生,则没有时间损失;若条件成立,转移发生,则所取的指令必须
没必要纠结这点性能损耗。而且这个总结说得过于绝对,但编译器的优化并非完全如此。哪怕是我们用上了C++20中的[[likely]]
和[[unlikeyly]]
编译出来的汇编代码也未必会像你想的那样排列——这两个属性只是给编译器的建议,编译器可以参考它,但未必会完全照做。