JavaScript
[JavaScript] console.time으로 자바스크립트 코드 성능 측정하기
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가 빠른 것으로 나오는 경우가 조금 더 많았다.