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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top