코드를 짜다보면 어떤 방식이 더 빠를지 궁금해진다.
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가 빠른 것으로 나오는 경우가 조금 더 많았다.
[JavaScript] scroll 관련 메서드로 원하는만큼, 원하는 위치로 스크롤하기 (0) | 2021.09.01 |
---|---|
[JavaScript] 형변환 시 String() 과 toString()의 차이점 (0) | 2021.08.18 |
[JavaScript] 매개변수(parameter)와 전달인자(argument) (0) | 2021.08.18 |
[JavaScript] 객체 비구조화(구조 분해) (0) | 2021.08.16 |
[JavaScript] 함수의 매개변수에 들어올 기본값 설정하기 (0) | 2021.08.15 |