JavaScript at the speed of Rust: Oxc
summary
Oxc ships Oxlint as a Rust linter that runs raw transfer of the AST as a shared binary buffer and adds lazy deserialization so JS plugins only materialize nodes they need. A 2.9 MB TypeScript source explodes to a 29 MB JSON AST; JSON roundtrips and GC make Rust-to-JS transfers slow (one transfer equals passing ~14 files). Initial technical preview supports much of the ESLint plugin API, cuts transfer overhead ~8x so far, and plans further optimizations.
AI-written summary · about
chapters (11)
- 0:00Introduction to Oxc
- 2:12The problem with native tooling
- 8:38Performance cost of AST transfer
- 12:35Plugins and JavaScript control
- 16:55Raw transfer solution
- 18:46Garbage collection overhead
- 21:46Lazy deserialization
- 23:15Oxlint technical preview
- 25:26Future optimizations and plugins
- 26:31Community and contributions
- 28:24Q&A session
related talks
17mOxc: Next-Gen Rust tooling
26mOxc, Rolldown, Vitest, Vite: The Future of The JavaScript Toolchain
29mModern JavaScript Tooling: Exploring Rolldown, Oxc, and Beyond
28mLet’s build a JavaScript Engine in Rust
30mRust in the Browser for Javascripters:New Frontiers,New Possibilities
32mFaster Builds and Fewer Headaches with Modern JavaScript Tooling
45mInteraction with real-world JavaScript from compiled Rust
50mHow Rust makes Oxide possible
