Почему нижний тестовый цикл предпочтительнее?

Я слышал, как кто-то однажды сказал, что компиляторы часто перемещают условия цикла в конец цикла. То есть такие циклы:

while (condition) {
    ...
}

заменяются на:

if (condition) {
     do {
         ...
     } while (condition);
}

относительно машинно-независимой оптимизации, почему последняя предпочтительнее?

5
задан Mysticial 20 March 2012 в 00:04
поделиться