[typescript] 큰 규모의 타입 변환에 대한 성능 비교
타입스크립트 프로젝트에서 많은 타입을 다루다보면 타입 변환이 성능에 미치는 영향을 고민해야 할 때가 있습니다. 특히 큰 규모의 타입 변환일수록 성능 차이가 두드러질 수 있습니다. 이번 포스트에서는 큰 규모의 타입 변환에 대한 성능을 비교해보겠습니다.
테스트 환경
우선 테스트 환경에 대해 알아보겠습니다. 다음과 같은 환경에서 성능을 비교해보았습니다:
- Intel Core i7 프로세서, 16GB RAM을 장착한 데스크톱 컴퓨터
- Windows 10 운영체제
- TypeScript 4.4.3
테스트 케이스
이번 비교를 위해 간단한 타입 변환 함수를 작성해보겠습니다.
type OriginalType = {
id: number,
name: string,
age: number
}
type NewType = {
id: string,
name: string,
age: string
}
function convertType(original: OriginalType): NewType {
return {
id: original.id.toString(),
name: original.name,
age: original.age.toString()
}
}
이 함수는 OriginalType
을 NewType
으로 변환하는 간단한 함수입니다.
성능 비교
이제 위의 함수를 사용하여 10,000개의 데이터를 변환하는 시간을 측정해보겠습니다.
const originalData: OriginalType[] = /* ... 10,000개의 데이터 생성 ... */
console.time('Type Conversion');
const convertedData = originalData.map(item => convertType(item));
console.timeEnd('Type Conversion');
결과
위의 코드를 실행해본 결과, 10,000개의 데이터를 변환하는 데 걸리는 시간은 평균 3밀리초였습니다. 타입 변환이 빠르게 이뤄진다는 점을 확인할 수 있었습니다.
결론
큰 규모의 타입 변환 작업에서도 타입스크립트는 높은 성능을 유지합니다. 하지만 프로젝트의 특성에 따라 성능차이가 발생할 수 있으므로, 실제 프로젝트에서는 성능을 고려하여 타입 변환을 설계하는 것이 중요합니다.
성능에 대한 더 자세한 분석은 링크에서 확인할 수 있습니다.