이번 포스팅에서는 JavaScript에서 코드 실행 시간을 측정하는 몇 가지 방법을 소개합니다.
Date 객체
Date 객체를 사용하여 고전적인 방법으로 코드 실행 시간을 측정할 수 있습니다. 다음은 Date 객체를 사용하여 실행 시간을 측정하는 예제입니다.
let loop = 100000000; // 1억
let sum = 0;
let startTime = new Date().getTime();
for (let i = 1; i <= loop; i++) {
sum += i;
}
let endTime = new Date().getTime();
console.log(endTime - startTime);
위 예제는 1억번 반복되는 for문의 코드 실행 시간을 측정하는 코드입니다. 반복문이 실행되기 전에 시작 시간을 저장하는 변수 startTime
과 반복문이 종료된 후 종료 시간을 저장하는 변수 endTime
의 차이로 코드 실행 시간을 측정할 수 있습니다.
코드 실행 시간은 컴퓨터마다 다를 수 있으며, 100% 정확한 결과가 나오지 않을 수 있습니다.
console.time() 사용
console.time()
은 console.timeEnd()
와 함께 쌍을 이루며, 코드 실행 시간을 측정할 수 있습니다. 두 함수 모두 단일 인수를 사용하며, 단일 인수는 타이머를 식별하는 이름입니다.
다음은 위 예제에서 Date 객체를 console.time()
과 console.timeEnd()
로 변경하였습니다.
let loop = 100000000; // 1억
let sum = 0;
console.time('code_measure');
for (let i = 1; i <= loop; i++) {
sum += i;
}
console.timeEnd('code_measure');
실행 결과
console.time()
과 console.timeEnd()
에 인수로 작성된 "code_measure"
는 위에서 설명한 타이머를 식별하는 이름입니다. 코드 실행 결과는 식별 이름과 밀리초 단위로 콘솔에 출력됩니다.
performance.now() 사용
코드 실행 시간을 측정하는 또 다른 방법으로 performance.now()
를 사용할 수 있습니다. performance.now()
가 반환하는 타임스탬프로 코드 실행 시간을 측정할 수 있는데, 브라우저마다 타임스태프 처리 방법이 다르기 때문에 100% 정확한 결과를 얻기는 어렵습니다.
다음은 performance.now()
를 사용한 예제입니다.
let loop = 100000000; // 1억
let sum = 0;
let startTime = performance.now()
for (let i = 1; i <= loop; i++) {
sum += i;
}
let endTime = performance.now()
console.log(endTime - startTime);
'JavaScript > JavaScript 문법' 카테고리의 다른 글
[JavaScript]문자열을 숫자로 변환 (0) | 2021.12.22 |
---|---|
[JavaScript]try-catch로 잡을 수 없는 예외 (0) | 2021.12.20 |
[JavaScript]rest와 spread 차이 (0) | 2021.12.14 |
[JavaScript]객체 변경을 방지하는 방법 (0) | 2021.12.06 |
[JavaScript]객체(Object)의 freeze(), seal() 함수의 차이점 (0) | 2021.12.06 |
댓글