Show HN: Transit-format (JSON/MessagePack) reader/writer in C

A tiny data tool drops, and the comments instantly turn into a speed-vs-sanity showdown

TLDR: Transit.C is a new C library that moves data fast while keeping more meaning than plain JSON. The community reaction was a mix of awe at the engineering and playful skepticism over whether this solves a huge real-world problem or just delights performance purists.

A new Show HN post about Transit.C — a tiny C library for reading and writing data fast — landed with catnip for performance fans: fast, zero-copy, no dependencies, and tested against giant piles of sample data. In plain English, it promises to move information between apps quickly while preserving things basic JSON often flattens or mangles, like timestamps, IDs, and custom data types. That alone was enough to summon the usual Hacker News tribes.

And oh, they definitely showed up. The strongest reactions split into two camps: the "this is beautiful, ship it" crowd and the "cool, but who on earth is asking for this in C?" skeptics. Fans were practically cheering the words single arena, no recursion, and Windows/macOS/Linux support like this was the Olympics of low-level programming. Critics, meanwhile, raised the classic eyebrow: is this a brilliant missing piece for systems programmers, or a very elegant solution to a niche problem most people solve with boring old JSON and move on?

The drama got juicier around Transit itself. Some commenters loved the idea of data that keeps its real meaning instead of becoming mushy text blobs. Others basically translated the pitch as, "So... JSON with extra steps?" The jokes wrote themselves: people riffed on developers doing anything to avoid copying strings, and others treated zero-copy SIMD C11 like the programmer version of a sports car spec sheet. In the end, even doubters seemed to respect the craftsmanship — while still side-eyeing whether the world needed another format hero.

Key Points

  • Transit.C is a C11 reader and writer for the Transit data format, supporting JSON, JSON-Verbose, and MessagePack through a single codec-agnostic engine.
  • The project emphasizes zero-copy decoding by borrowing strings, byte arrays, and keys directly from the input buffer into a single arena-backed result tree.
  • Transit is described as extending JSON and MessagePack with richer data types, tagged extensibility, and a caching mechanism for repeated keys, symbols, and tags.
  • The implementation includes SIMD acceleration, a streaming emitter API, custom tag handlers, non-recursive parsing, and no external dependencies beyond the standard library.
  • The library is presented as portable across Linux, macOS, and Windows and tested against the official cognitect/transit-format exemplar corpus.

Hottest takes

"JSON with a gym membership" — unknown
"zero-copy is the new vegan" — unknown
"beautiful engineering for an audience of twelve" — unknown
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.