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

조회수 2752회

[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라는 조건이 있는 것 처럼 보이지 않나요? ;)

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)