Sempre desempenho diferente entre Java >> e >>> operadores de mudança certos?
-
22-09-2019 - |
Pergunta
Existe uma razão para pensar que os operadores de mudança de bits da >> (assinada) e >>> (não assinados) em Java teriam um desempenho diferente? Não consigo detectar nenhuma diferença na minha máquina.
Esta é puramente uma questão acadêmica; Nunca vai ser o gargalo, tenho certeza. Eu sei: é melhor escrever o que você quer dizer com mais nada; Use >> para divisão por 2, por exemplo.
Suponho que se resume a quais arquiteturas têm quais operações implementadas como uma instrução.
Solução
Não. Seu compilador os traduzirá para ByteCode e a JVM interpretará o bytecode para sua arquitetura. Eu acho que é seguro assumir que sua arquitetura possui um conjunto de instruções que inclui ambas as operações, em alguns ciclos de relógio.
De qualquer forma, há uma diferença no comportamento desses operadores, por isso não é como se você pudesse intercambiá -los.