“for(;;)”이랑 “while (TRUE)”중에 어느게 더 빠른가요?

[while(1)이랑 while(2)중 어 느게 더 빠르나요?]를 보다가 생각 난건데,

for (;;) {
    //Something to be done repeatedly
}

이렇게 쓰는 코드를 많이 봤었는데 while(true)로 쓰는 건 잘 못봤어요.

제 생각에는 굳이 쓸꺼면 while(true)쪽이 가독성이 나은데 왜 그런걸까요?

for (;;)while(true)보다 더 빨라서 for문을 쓰는 건가요?

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    둘의 어셈블리 코드가 동일하기 때문에 둘의 성능은 똑같습니다.

    보통 for(;;)을 더 많이 쓰는 이유는

    1. 컴파일러가 while(true)에서는 "loop condition is constant"라면서 경고를 내 주기 때문이기도 하고

    2. for(;;)이 "조건이 없음"이라서 무한루프에 더 가깝기 때문입니다. (while(true)true라는 조건이 있는 것 처럼 보이지 않나요? ;)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.