[typescript] 타입 변환 후의 코드 실행 시간 비교
타입스크립트는 정적 타입 언어로, 타입 변환은 코드 실행 시간에 영향을 미칠 수 있습니다. 이 글에서는 간단한 예제를 통해 다양한 방법으로 타입을 변환한 후의 코드 실행 시간을 비교해 보겠습니다.
예제 코드
아래의 예제는 배열의 요소를 제곱하여 새로운 배열을 반환하는 함수를 작성한 코드입니다. 이 함수를 여러 가지 방법으로 타입을 변환한 후, 실행 시간을 비교해보겠습니다.
// 타입 변환 없이 작성한 함수
function square1(arr: number[]): number[] {
return arr.map(x => x * x);
}
// 타입 변환을 이용한 함수
function square2(arr: ArrayLike<number>): number[] {
return Array.from(arr).map(x => x * x);
}
실행 시간 비교
이제, 각 함수를 이용하여 동일한 배열을 제곱하는 작업을 수행하고 그 실행 시간을 측정해보겠습니다.
const arr = Array.from({ length: 1000000 }, () => Math.random() * 1000);
console.time('square1');
square1(arr);
console.timeEnd('square1');
console.time('square2');
square2(arr);
console.timeEnd('square2');
결과
위의 코드를 실행한 결과, 타입 변환을 이용한 함수인 square2
가 타입 변환을 하지 않은 함수 square1
에 비해 실행 시간이 약간 더 소요되는 것을 확인할 수 있었습니다. 이는 타입 변환 작업이 코드 실행 시간에 약간의 영향을 미치는 예시로 볼 수 있습니다.
결론
타입스크립트에서는 타입 변환을 통해 코드를 더 정확하게 작성할 수 있지만, 코드 실행 시간에 약간의 영향을 미칠 수 있습니다. 따라서, 타입 변환이 많이 사용되는 부분에서는 성능을 고려하여 최적화하는 것이 중요합니다.
참고 문헌:
- Typescript Handbook: https://www.typescriptlang.org/docs/handbook/basic-types.html
- MDN Web Docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators