hn.today

A Search-and-Inference Database from Scratch in Pure Zig

antfly.io18 points4 comments
Screenshot of A Search-and-Inference Database from Scratch in Pure Zig

Antfly rewrote its search-and-inference engine from Go to Zig to pursue a unified, embeddable database optimized for semantic search, full-text, vector, document, and graph workloads. The rewrite was driven by first principles: prioritize the model over specific embedding-index algorithms, own every dependency, and bake rigorous simulation and protocol verification into the stack. The Go v0.1 proved the design, but Zig enabled a zero-dependencies posture, easier cross-compilation (including WASM and GPU runtimes), and C interop for linking CUDA/ONNX/Wasmtime without CGO friction. Antfly rebuilt core pieces - LSM, B+tree, Raft, full-text indexing, HTTP/3/QUIC transport - so resource management, priority scheduling, and deterministic performance are controlled holistically.

Technically, Zig offered testability and predictable performance: std.Io makes the environment a parameter so VOPR-style simulation (disk, network, clock faults) and TLA+ trace validation can be integrated as everyday testing, with Debug/ReleaseSafe test runs and ReleaseFast shipping. The team prioritized linearizability and system-level fault injection over language-level memory guarantees, arguing that replica, ordering, and fsync faults matter more than use-after-free. Tradeoffs include Zig’s pre-1.0 standard library, younger tooling, and a steeper reader curve, but the outcome is a purpose-shaped engine tuned for vector-heavy workloads, embeddability across runtimes, and fine-grained control of memory, CPU, and GPU.

Read on antfly.io4 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Other

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.