최근 서버 응답 속도 확인 차 서버로 요청 값을 보내고 응답 값을 찍는 테스트를 진행하였습니다.
자바스크립트의 XMLHttpRequest를 이용해 간단하게 테스트를 했는데요.
한 가지 의문점이 생겨서 질문을 올리게 되었습니다.
1분 동안 setInterval로 XMLHttpRequest를 통한 응답 값을 요청했을 시 대략 2500번의 응답을 받았습니다.
그리고 똑같은 조건에서 while로 응답 값을 요청했을 시 대략 2200번의 응답을 받았습니다.
여러 번 시도했음에도 불구하고 비슷한 응답 횟수로 항상 setInterval이 빨랐습니다.
개인적으로 while이 훨씬 빠를 것이라고 판단했으나 setInterval이 빨라서 혹시 비동기식의 작동이 원인일까로 추측하여 특정 조건에서 멈추도록 수정한 후 테스트를 해보았습니다.
만약 특정 조건에서 setInterval이 clearInterval을 통해 멈추고, while보다 빠르다면 clearInterval 메소드가 동작할 시기에 하나에서 두 개 정도의 요청 값이 비동기로 인해 넘어갈 것이라고 판단했습니다.
그러나 너무 정확하게 멈추더라구요...
그래서 자바스크립트 코딩 시에 while(true)에서 break로 나오는 게 효율적인지 setInterval에서 clearInterval로 나오는 게 효율적인지 궁금했습니다.
저는 항상 속도 빠르다는 점과 동기식 코딩이 편한 점에서 while(true)를 자주 쓰는 편이었는데 제가 틀린 것이었나요?