[typescript] 전역 타입 변환 성능 최적화 방법

TypeScript를 사용하면 JavaScript 프로젝트를 더 안전하고 효율적으로 관리할 수 있습니다. 그러나 타입 선언이 복잡한 경우 프로젝트의 성능이 저하될 수 있습니다. 여기서는 전역 타입 변환 성능을 최적화할 수 있는 몇 가지 방법에 대해 알아보겠습니다.

시맨틱 바이트코드

TypeScript는 타입을 JavaScript로 변환하는 과정에서 “시맨틱 바이트코드”를 생성합니다. 이 바이트코드는 타입 정보를 보존하기 위해 생성되지만, 프로덕션 환경에서는 필요하지 않을 수 있습니다. 이런 바이트코드를 최소화하여 성능을 향상시킬 수 있습니다.

TypeScript 4.4부터 --noSemanticCnsmetic 플래그를 사용하여 시맨틱 바이트코드를 비활성화할 수 있습니다. 이 플래그를 사용하면 타입 변환 속도가 빨라지고 생성된 JavaScript 파일의 크기가 줄어들어 성능 개선에 도움이 됩니다.

tsc --noSemanticCnsmetic

캐시 활용

TypeScript는 변환된 JavaScript 코드를 캐싱하여 재사용하는 기능을 제공합니다. 이를 통해 반복적인 변환 작업을 최소화하여 빌드 속도를 향상시킬 수 있습니다.

캐시를 활용하려면 --incremental 플래그와 tsconfig.json 파일에 composite, tsBuildInfoFile 설정을 추가해야 합니다.

{
  "compilerOptions": {
    "incremental": true,
    "tsBuildInfoFile": "./dist/.tsbuildinfo",
    "composite": true
  }
}

위의 설정을 추가하면 TypeScript는 변환된 결과를 .tsbuildinfo 파일에 저장하여 다음 빌드 시에 재사용합니다.

사용하지 않는 코드 제거

많은 전역 실행 타입 변환 문제는 사용하지 않는 코드로 인해 발생합니다. 이러한 문제를 해결하기 위해 TypeScript는 --removeComments 플래그를 제공합니다. 이 플래그를 사용하면 변환된 JavaScript 파일에서 주석을 제거하여 파일 크기를 줄일 수 있습니다.

tsc --removeComments

간단히 요약하면, 처음에는 --noSemanticCnsmetic 플래그를 사용하여 시맨틱 바이트코드를 최소화하고, 코드 변환을 캐싱하여 재사용하며, --removeComments 플래그를 사용하여 사용하지 않는 코드를 제거하여 성능을 최적화할 수 있습니다.

성능 최적화에 도움이 될 수 있는 이러한 방법들을 적용하여 TypeScript 프로젝트의 전역 타입 변환 성능을 향상시켜보세요.

참고 자료: