Вот одна небольшая разница, которую я видел при разборке VS2010 в режиме отладки.Не уверен, если этого достаточно, чтобы считать значительную и универсально истинную разницу (для всего компилятора и со всеми оптимизациями).то же самое, но на уровне процессора, с бесконечными циклами сообщений, тактовые циклы для дополнительных / разных команд могут отличаться и иметь определенное значение.
while(1)
004113DE mov eax,1 **// This is the difference**
004113E3 test eax,eax **// This is the difference**
004113E5 je main+2Eh (4113EEh)
f();
004113E7 call f (4110DCh)
004113EC jmp main+1Eh (4113DEh) **// This is the difference**
for(;;)
f();
004113EE call f (4110DCh)
004113F3 jmp main+2Eh (4113EEh) **// This is the difference**
}