Skip to main content

Command Palette

Search for a command to run...

2024년 6월 12일 작업일지

Updated
2 min read
2024년 6월 12일 작업일지

SWC 파서 최적화

어제 했던 작업이랑 거의 비슷한 작업이다.

SWC Minifier 성능 Regression 수정

어제 한 작업이 지나치게 간단한 해결 방법을 써서 시간 복잡도가 O(n^2)가 됐다. 그걸 고치는 PR이다.

SWC CI Regression 수정

CI가 CLI 바이너리 파일을 GitHub Releases에 올리지 않는 문제가 있어서 한 작업이다.

swc_core 업데이트

파서 성능 개선 PR들을 빨리 적용할 필요성이 있어서 빠르게 업데이트 PR 만들었다.

터보팩 Tree Shaking 최적화

[crates/turbopack-ecmascript/src/tree_shake/graph.rs:248:13] ix = 4 [crates/turbopack-ecmascript/src/tree_shake/graph.rs:263:13] &required_vars = { ( "x",

#2, ), } [crates/turbopack-ecmascript/src/tree_shake/graph.rs:266:17] id = ItemId(1, Normal) [crates/turbopack-ecmascript/src/tree_shake/graph.rs:350:25] "Exporting" = "Exporting" [crates/turbopack-ecmascript/src/tree_shake/graph.rs:350:25] var = ( "x",

#2, )

x = 3의 로그는 아래와 같다.

[crates/turbopack-ecmascript/src/tree_shake/graph.rs:248:13] ix = 5 [crates/turbopack-ecmascript/src/tree_shake/graph.rs:263:13] &required_vars = { ( "x",

#2, ), } [crates/turbopack-ecmascript/src/tree_shake/graph.rs:266:17] id = ItemId(2, Normal) [crates/turbopack-ecmascript/src/tree_shake/graph.rs:350:25] "Exporting" = "Exporting" [crates/turbopack-ecmascript/src/tree_shake/graph.rs:350:25] var = ( "x",

#2, )

마찬가지로 var_decl에 대한 의존성이 없다. last read에만 의존성을 추가해서 그런 것 같다.

  • x +=6의 의존성에 last_write만 있어야하는데 이전의 모든 write가 있음.

    [crates/turbopack-ecmascript/src/tree_shake/graph.rs:248:13] ix = 8 [crates/turbopack-ecmascript/src/tree_shake/graph.rs:263:13] &required_vars = { ( "x", #2, ), } [crates/turbopack-ecmascript/src/tree_shake/graph.rs:266:17] id = ItemId(5, Normal) [crates/turbopack-ecmascript/src/tree_shake/graph.rs:297:17] dep = 3 [crates/turbopack-ecmascript/src/tree_shake/graph.rs:307:29] "Importing" = "Importing" [crates/turbopack-ecmascript/src/tree_shake/graph.rs:307:29] var = ( "x", #2, ) [crates/turbopack-ecmascript/src/tree_shake/graph.rs:315:29] "Skipping" = "Skipping" [crates/turbopack-ecmascript/src/tree_shake/graph.rs:315:29] var = ( "x", #2, ) [crates/turbopack-ecmascript/src/tree_shake/graph.rs:297:17] dep = 4 [crates/turbopack-ecmascript/src/tree_shake/graph.rs:315:29] "Skipping" = "Skipping" [crates/turbopack-ecmascript/src/tree_shake/graph.rs:315:29] var = ( "x", #2, ) [crates/turbopack-ecmascript/src/tree_shake/graph.rs:297:17] dep = 5 [crates/turbopack-ecmascript/src/tree_shake/graph.rs:315:29] "Skipping" = "Skipping" [crates/turbopack-ecmascript/src/tree_shake/graph.rs:315:29] var = ( "x", #2, ) [crates/turbopack-ecmascript/src/tree_shake/graph.rs:297:17] dep = 6 [crates/turbopack-ecmascript/src/tree_shake/graph.rs:315:29] "Skipping" = "Skipping" [crates/turbopack-ecmascript/src/tree_shake/graph.rs:315:29] var = ( "x", #2, ) [crates/turbopack-ecmascript/src/tree_shake/graph.rs:297:17] dep = 7 [crates/turbopack-ecmascript/src/tree_shake/graph.rs:315:29] "Skipping" = "Skipping" [crates/turbopack-ecmascript/src/tree_shake/graph.rs:315:29] var = ( "x", #2, ) [crates/turbopack-ecmascript/src/tree_shake/graph.rs:349:25] "Exporting" = "Exporting" [crates/turbopack-ecmascript/src/tree_shake/graph.rs:349:25] var = ( "x", #2, )

  • 변수를 선언하지 않는 모듈이 변수를 export 함

어찌어찌 조금씩 진행했다.

SWC: no-dupe-args 린트 최적화

린트 패스지만 메모리 할당이 프로파일링 결과에서 눈에 띌 정도였어서 에러가 없는 경우 아예 메모리 할당을 하지 않게 패치했다.

SWC: xtask npm nightly 버그 수정

SWC 나이틀리가 제대로 배포가 안 되길래 수정했다.

More from this blog

한국의 학벌에 대한 생각

내 블로그의 제목이 kdy1: The way I think 인만큼 앞으로는 내 생각을 더 자주 올리려고 한다. 한국 기준으로, 학벌은 사람을 볼 때 꽤나 유용한 지표이지만, 절대적이지는 않다. 경험적인 얘기일 뿐이지만, 성균관대학교 자퇴생으로서 느낀 것들이 몇 가지 있다. 대학까지 간 사람의 학벌은 학습 능력 x 성실함 에 대체로 비례한다. 그래서 의미가

Apr 3, 20261 min read

인간 지능에 대한 메모장

최종 업데이트: 2026/03/15 지능의 유전 현재 인류 기준으로, 고지능자는 고지능 유전자가 많이 겹친 사람이다. 지능의 유전엔 X 염색체가 매우 중요한 역할을 한다. 그리고 이게 남자와 여자의 지능 분포 차이를 만든다. 극상위권에 여자가 거의 없는 이유가 이것이다. 고지능 X 염색체가 여자한테서 발현되려면 2개가 있어야 한다. 이는 인간의 생

Mar 15, 20262 min read

Ai 코딩 팁 2 (한국어)

발표 자료: https://gamma.app/docs/AI--2a52e7tk3eb1ch1 AI 활용법 관련해서 간단하게 발표를 했다. 발표 자료 앞쪽은 전에 블로그에 올린 글이랑 같은 내용이다. 이 글에서는 기존 글에서 다루지 않은 내용들을 다루겠다. 에러 메시지 및 로깅 구체적 타입 및 스키마 활용 any 타입은 사람에게도 위험하지만, AI에게는 더 위험하다. 마찬가지로, JSON.parse처럼 아무 제약 없는 파싱 느슨한 인터페이스 ...

Jan 30, 20265 min read

kdy1: The way I think

233 posts