Hacker News
I got tired of slow DB inserts, so I wrote a zero-syscall IPC in Go (18M TPS)
ihariv
[-]
I'm sharing a library I wrote for ultra-low latency, zero-syscall Inter-Process Communication in Go.
It uses Shared Memory (mmap) and a lock-free ring buffer built purely on sync/atomic, padded to 64 bytes to prevent false sharing.
Some local benchmarks (Ryzen 9 7950X3D, zero allocations): - 1-to-1 delivery: ~56 ns/op (~17.5M TPS) - 3-to-1 Orchestrator pattern (multiplexing): ~51.8 ns/message
It's cross-platform (works on Linux, Windows, macOS) and protects against process crashes using a Peek/Ack pattern (guaranteed At-Least-Once delivery) so you don't lose data if your consumer OOMs.
I built this from scratch for extreme conditions where you can't afford to lose a single CPU tick. I'd love to hear your thoughts on the architecture, any edge cases I might have missed with mmap/atomics in Go, and general feedback!