자바스크립트 - 함수 속도 측정할 수 있는 방법 console.time(), performance.now()

반응형

프론트엔드 개발에서 성능 향상은 중요한 요소 중에 하나 입니다.

성능 향상을 위해 자바스크립트 함수 속도를 측정 할 수 있는 방법에 대해서 알려드리겠습니다.

 

console.time()

console.time();
doSomething();
console.timeEnd(); // default: 8007.467041015625 ms

 

console 의 static 메서드인 time을 이용해서 속도를 측정할 수 있습니다.

time 메서드 호출 이후, timeEnd 메서드를 호출하기까지의 시간을 계산해서 콘솔에 표시 해줍니다.

 

간단히 속도를 콘솔에서 확인할 수 있는 장점이 있지만,

콘솔에서만 확인할 수 있고, 데이터로 처리 하거나, 다른 방법으로 확인할 수 없는 단점이 있습니다.

 

performance.now()

var t1 = performance.now();
doSometing();
var t2 = performance.now();
console.log(`${(t2 - t1) / 1000} seconds.`)

 

performance.now() 는 웹 document가 시작된 이후로 시간을 나타냅니다.

함수 실행전의 시간과 함수 실행 후의 값을 변수에 저장 후에 뺀다면 함수 실행 속도를 구할 수 있습니다.

 

Date.now() 와의 차이점

Date.now()의 경우에 컴퓨터 시스템의 시계에 따라서 현재 시간을 나타냅니다.

만약 컴퓨터 시계를 조정하게 된다면 속도 계산이 다르게 발생할 수 있는 점이 있습니다.

728x90
반응형