Hasty Briefsbeta

Bilingual

Cruller: Bun's Zig Runtime, Continued on Zig 0.16

4 hours ago
  • Cruller is a production-focused fork of Bun, ported to Zig 0.16, designed to run pre-built JavaScript servers.
  • It retains core runtime features like JavaScriptCore, Bun.serve, HTTP/1-3, WebSockets, fetch, streams, Blob, Request/Response, and static serving.
  • Removed subsystems include the package manager, bundler, transpiler, shell, test runner, N-API, SQL clients, and archive support.
  • The port involved separating the runtime from Bun's patched Zig build, using vanilla Zig 0.16 with compatibility shims and generated-code embedding.
  • Cruller is intentionally not a full Bun replacement; it is a minimal runtime for running pre-built entrypoints.
  • Current binary size is 73.0 MiB vs Bun's 88.5 MiB (18% reduction), with near performance parity in V8 Crypto benchmark.
  • The project passes basic smoke tests including CJS/ESM entrypoints, Node path tests, and HTTP/serve endpoints.
  • Only Linux x64 is currently supported, and development is ongoing.