W klasie są dwa pola:
private volatile static int ile1 = 0;
private static int ile2 = 0;
W pętli wykonywane są wielokrotnie przypisania:
ile1 = i >> 1;
ile1 = i/2;
ile2 = i >> 1;
ile2 = i/2;
Operacje ze zmienną volatile
są wolniejsze. Ale dlaczego dla operacji dzielenia program jest wolniejszy o 30%, a dla przesuwania jest wolniejszy siedmiokrotnie?
http://ideone.com/qJQiZ7