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


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

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

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

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

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

  • 2016년 02월 02일에 작성됨

조회수 344


1 답변


좋아요
0
싫어요
채택취소하기

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

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

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

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

  • 2016년 02월 02일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close