Pin*_*ade 6 java bit-manipulation
剪切和干燥...虽然我从来没有足够的逻辑操作来成为性能瓶颈 - 我想,我会更好地使用按位和(&)和按位或(|)而不是同名的逻辑运算符(&&和||)如果可能的话?也许这个问题可以通过我不知道将Java转换为程序集来查看操作数的事实来开头.
thk*_*ala 18
即使在Java代码执行中,按位运算符也避免使用分支指令.因此,您没有昂贵的分支预测错误,也没有任何跳转.
根据我的经验,当在经常执行的代码中使用时,它们可以显着更快.但请记住,按位运算符不是短路运算符,在某些情况下实际上可能会对性能产生负面影响.
也就是说,这种微优化只应作为最后的手段,并且只有在分析器告诉您这样做之后 - 可读性和可维护性首先出现.