TypeScript's compiler API is being rewritten in Rust: stc. This blog post says
The main problem is that
tsc
is itself "written in TypeScript - which does not support parallel processing". Rewritingtsc
in a native language, like Rust, could speed it up immensely.
What are the parts of a type checker that can be parallelized? I'm guessing the symbols and their container arena have to be Sync
. I'm finding it strange that rustc_arena::TypedArenaGen
is !Sync
. Is rustc
not symbol solving in parallel then or I got something wrong?