Bun Merges 6,755-Commit Rust Rewrite, Eliminating Async Rust and Shrinking Binary Footprint
Jarred Sumner has merged pull request #30412, transitioning Bun’s codebase to Rust while preserving its original architecture, data structures, and execution model. The rewrite yields a 3 MB to 8 MB reduction in binary size, eliminates legacy memory leaks, and introduces compiler-enforced safety to reduce debugging overhead.
On May 14, 2026, Bun creator Jarred Sumner merged pull request #30412, a massive 6,755-commit rewrite of the runtime into Rust. Originating from the `claude/phase-a-port` branch, the transition represents a major structural shift aimed at leveraging static analysis and compiler-enforced memory safety to mitigate long-standing development and debugging bottlenecks.
Architectural Constraints and "No Async Rust"
Despite the language migration, the runtime’s underlying architecture and data structures remain unchanged. To prevent the runtime complexity and overhead often associated with typical Rust network stacks, the implementation adheres strictly to two core constraints: 1. No Async Rust: The codebase completely avoids Rust’s native asynchronous runtime machinery (such as `async/await` state machines and heavy runtime executors), relying instead on Bun’s existing event-loop and synchronous execution paradigms. 2. Minimal Dependencies: The implementation avoids external crate bloat, maintaining Bun’s design philosophy of using minimal third-party libraries.
Performance, Footprint, and Stability Metrics
- Binary Size: The compiled binary footprint has shrunk by 3 MB to 8 MB.
- Performance: Preliminary benchmarks are neutral to faster compared to the previous codebase.
- Stability: The port successfully passes Bun’s pre-existing cross-platform test suite while resolving several legacy memory leaks and flaky test scenarios.
Automation and Review Landscape
The branch naming convention and the pull request metadata indicate an LLM-assisted porting strategy. Automated review tools—specifically `claude[bot]` and `coderabbitai[bot]`—provided extensive automated feedback alongside human maintainers and code owners (such as `alii`).
The change has drawn highly polarized attention from the systems engineering community, accumulating over 1,600 positive reactions alongside nearly 1,600 negative reactions on GitHub. The Rust rewrite is currently opt-in for testing via `bun upgrade --canary`, with additional optimization and codebase cleanup scheduled in subsequent pull requests before it reaches a stable, non-canary release.