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
처럼 작동한다.
근데 벤치마크 해보니까 성능 차이가 그리 크지 않아서 미뤘다. 나중에 토큰 타입 정리할 때 같이 작업할 생각이다.