Perry Compiles TypeScript to Executables
- Perry compiles TypeScript directly to executables using SWC and LLVM.
- The project claims to have no runtime dependencies.
- Some experts are skeptical about the project’s stability and performance.
The Buzz Score
The Internet’s Verdict: 70% Hyped, 30% Skeptical
Expert Opinions
Some experts are concerned about the project’s use of AI-generated code and the pace of commits.
Fascinating. I’ve written cross platform (WASM, iOS, Android) libraries with Rust before and had a good time but Rust can be a pain too. Cross-platform Typescript is a really interesting proposition.
Others are skeptical about the project’s claim of no runtime dependencies.
The claim of ‘no runtime’ is a bit dubious… you’re telling me that you’re statically linking a full, modern UI library into every app?
Performance Concerns
Perry uses NaN-boxing to preserve TypeScript’s dynamic type system at runtime, which can result in performance overhead.
Perry uses NaN-boxing to preserve TypeScript’s dynamic type system at runtime, the same approach as JavaScriptCore. The PERF_ROADMAP is honest about the cost: 1.86x behind Zig on image convolution, with 1.24 billion wasted instructions traced specifically to NaN-box unboxing.
Focus Keyword: TypeScript Compiler