| > But his biggest users (tigerbeetle and bun especially) will only be taken seriously once Zig is 1.0. TB is only 5 years old but already migrating some of the largest brokerages, exchanges and wealth managements in their respective jurisdictions. Zig’s quality for us here holds up under some pretty extreme fuzzing (a fleet of 1000 dedicated CPU cores), Deterministic Simulation Testing and Jepsen auditing (TB did 4x the typical audit engagement duration), and is orthogonal to 1.0 backwards compatibility. Zig version upgrades for our team are no big deal, compared to the difficulty of the consensus and local storage engine challenges we work on, and we vendor most of our std lib usage in stdx. > They’ll nudge him towards 1.0. On the contrary, we want Andrew to take his time and get it right on the big decisions, because the half life of these projects can be decades. We’re in no rush. For example, TigerBeetle is designed to power the next 30 years of transaction processing and Zig’s trajectory here is what’s important. That said, Zig and Zig’s toolchain today, is already better, at least for our purposes, than anything else we considered using. |
If you don’t mind my asking, did TB add support for transaction metadata? I’ve seen this anti-pattern of map<string, string> associated with each transaction. Far from ideal, but useful. Last I checked TB didn’t support that because it would need dynamic memory allocation. Does it support it now or will it in future?