JavaScript/JavaScript 문법

[JavaScript]코드 실행 시간 측정 방법

DevStory 2021. 12. 17.

이번 포스팅에서는 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);

 

반응형

댓글