반응형
NestJS 프로젝트에 Bun을 적용하여 빌드 시간 단축을 시도하였습니다.
로컬 개발 환경인 M1 PRO MAX에서 진행하였습니다.
Bun 적용 옵션 1
"sourceMap": false,
"skipLibCheck": false,
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"sourceMap": false,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true,
"skipLibCheck": false,
"strictNullChecks": false,
"noImplicitAny": false,
"strictBindCallApply": false,
"forceConsistentCasingInFileNames": false,
"noFallthroughCasesInSwitch": false,
"types": [
"node"
],
"plugins": [
{
"name": "Bun"
}
]
}
}
결과1
* 야심치가 준비한 이 옵션이 가장 오래 걸려서 충격! Bard와 협업해서 완성 된 옵션인데 결과가 충격
% yarn build
yarn run v1.22.17
$ nest build
✨ Done in 8.98s.
Bard 협업 내용
기존 옵션
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true,
"skipLibCheck": true,
"strictNullChecks": false,
"noImplicitAny": false,
"strictBindCallApply": false,
"forceConsistentCasingInFileNames": false,
"noFallthroughCasesInSwitch": false
}
}
결과2
yarn build
yarn run v1.22.17
$ nest build
✨ Done in 6.15s.
Bun 적용 옵션2
"sourceMap": true,
"skipLibCheck": true,
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true,
"skipLibCheck": true,
"strictNullChecks": false,
"noImplicitAny": false,
"strictBindCallApply": false,
"forceConsistentCasingInFileNames": false,
"noFallthroughCasesInSwitch": false,
"types": [
"node"
],
"plugins": [
{
"name": "Bun"
}
]
}
}
결과3
% yarn build
yarn run v1.22.17
$ nest build
✨ Done in 5.91s.
개발 환경에서 Bun 적용이 아주 미묘하게 꾸준히 빠르긴 하였지만 드라마틱한 결과는 아니었습니다. 다만 좀 특이한건 Bard를 통하여
옵션에 변경을 준 경우 가장 늦었다는게... ㅜㅜ
이 부분 OpenAI, Bard, Phind.com을 통해 다시 하번 다뤄보도록 하겠습니다.
2부에서는 운영환경에서 어떤 결과가 있는지 보도록 하겠습니다.
반응형
'JS를 대하는 자세' 카테고리의 다른 글
[mongodb] or 조건 (0) | 2021.11.29 |
---|