微观优化几乎总是错误的事情。除非程序运行过慢,你使用分析工具确定了哪些部分运行缓慢,否则不要开始微观优化。完成这一步之后,我的建议是尝试提高代码和数据局部性,因为缓存未命中几乎肯定比次优指令更糟糕。在这种相当奇怪的情况下,如果您可以使用基于赋值或比较的方法,请尝试两种方法并计时。微观优化是一个数字游戏。如果数字不够好,找出原因,然后验证您所做的是否有效。那么,什么是比较呢?条件跳转会对任何现代处理器造成问题,但不同的处理器会做不同的事情,并且不能保证任何给定的处理器会减慢速度。此外,如果任何一种方法导致缓存未命中,那么无论如何都可能更慢。最后,语言通常被编译成机器码,简单的比较和赋值通常会被编译成相同的代码。大的区别将是CPU的类型。