2024년 6월 15일 작업일지

쉬는 날이지만 땡겨서 SWC 성능 개선 작업을 좀 했다.

SWC ES AST 유틸리티 추가

SWC ES 렉서 성능 개선

어제 했던 작업들과 마찬가지로 raw 를 저장하기 위해 했던 할당들을 없애는 PR이다.

SourceSlice for SWC

AST에서 raw: Atom을 전부 raw: SourceSlice로 바꿀 생각인데, SourceSlice는 할당을 하지 않는 문자열 타입이다. SourceSlice 는 입력으로 받은 소스코드를 Lrc<String>으로, 그 소스코드 중 어느 부분을 가리키는지 저장하는지를 start: u32, end: u32로 들고있다가 문자열로 접근을 하면 &str 처럼 작동한다.

근데 벤치마크 해보니까 성능 차이가 그리 크지 않아서 미뤘다. 나중에 토큰 타입 정리할 때 같이 작업할 생각이다.

@swc/core@v1.6.0 배포

mdxjs-rsswc_core 업데이트

swc/pluginsswc_core 업데이트