Słyszałem, jak ktoś powiedział, że kompilatory często przesuwają warunki pętli na dół pętli. Oznacza to, że pętle, takie jak:Dlaczego preferowana jest dolna pętla testowa?
while (condition) {
...
}
zostaje zmieniony na:
if (condition) {
do {
...
} while (condition);
}
dotyczące maszyny niezależną optymalizację, dlaczego korzystne jest ostatni?
W rzeczywistości druga pętla nie ocenia stanu u góry pętli. Przeskakuje do warunku while, gdzie trwa tak, jakby właśnie zakończył iterację. –