최근에 시스템 프로그래밍에서 어셈블리어를 배우며 for문과 while(true)~break는 다른지 궁금해졌습니다.

int i;
int max = 5;
for(i = 0; i < max; i ) {

}

이것과

int i = 0;
int max = 5:
while(true) {

i ;
if(!(i}

이것이 연산속도에서 차이를 보이는지 궁금합니다. 연산속도 이외의 차이가 있는지도 알고 싶습니다.