상세 컨텐츠

본문 제목

[JavaScript] console.time으로 자바스크립트 코드 성능 측정하기

JavaScript

by spring92 2021. 8. 18. 20:11

본문

코드를 짜다보면 어떤 방식이 더 빠를지 궁금해진다.

Date를 활용해서 코드의 시작과 끝의 시간 차를 이용하는 방법도 있지만,

console.time을 사용하는 게 상대적으로 간단하고 유용한 방법으로 보인다.

 

시작지점에 console.time(), 종료지점에 console.timeEnd()를 작성해서 테스트하려는 코드를 감싼다.

괄호 안에는 문자열을 작성해서 여러 코드를 테스트하려는 경우 구분해주는 라벨 역할을 하며,

아무 것도 작성하지 않으면 "default: 소요시간ms"의 형식으로 출력한다.

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

console.time("for 사용");
  let result = 0;
  for (let i = 0; i < arr.length; i++) {
    result += arr[i];
  }
console.timeEnd("for 사용"); // for 사용: 0.069ms

console.time("reduce 사용");
  const reduce = arr.reduce((acc, cur) => acc + cur);
console.timeEnd("reduce 사용"); // reduce 사용: 0.04ms

위의 예시는 배열의 요소를 모두 더하는 코드를 두 가지 방식으로 짜서 비교한 것인데,

여러번 시행해본 결과, reduce가 빠른 것으로 나오는 경우가 조금 더 많았다.

관련글 더보기