[typescript] 큰 규모의 타입 변환에 대한 성능 비교

타입스크립트 프로젝트에서 많은 타입을 다루다보면 타입 변환이 성능에 미치는 영향을 고민해야 할 때가 있습니다. 특히 큰 규모의 타입 변환일수록 성능 차이가 두드러질 수 있습니다. 이번 포스트에서는 큰 규모의 타입 변환에 대한 성능을 비교해보겠습니다.

테스트 환경

우선 테스트 환경에 대해 알아보겠습니다. 다음과 같은 환경에서 성능을 비교해보았습니다:

테스트 케이스

이번 비교를 위해 간단한 타입 변환 함수를 작성해보겠습니다.

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()
  }
}

이 함수는 OriginalTypeNewType으로 변환하는 간단한 함수입니다.

성능 비교

이제 위의 함수를 사용하여 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밀리초였습니다. 타입 변환이 빠르게 이뤄진다는 점을 확인할 수 있었습니다.

결론

큰 규모의 타입 변환 작업에서도 타입스크립트는 높은 성능을 유지합니다. 하지만 프로젝트의 특성에 따라 성능차이가 발생할 수 있으므로, 실제 프로젝트에서는 성능을 고려하여 타입 변환을 설계하는 것이 중요합니다.

성능에 대한 더 자세한 분석은 링크에서 확인할 수 있습니다.