← Back to Home

Gallery

AllBlogPhotographyExperiments
Homelab
Shimmer
Shimmer

The flash-sale experiment in my repo has eleven ways to decrement stock under concurrency. I put 38 million checkout attempts through them, which created 1,192,153 order rows across the 22 runs in this comparison. Every adapter uses the same two tables. I deliberately left off CHECK (stock >= 0): otherwise the broken adapter would fail with an error instead of overselling, and the damage would be hidden in an error count rather than visible in the data. That is the whole schema for nine of the eleven adapters. One

Overselling a flash sale: eleven ways to decrement stock at scale
Reflected boats
Reflected boats
060726
060726
Resolute Raccoon
Resolute Raccoon
IOS view of an airplane window you can draw on
Saga traces
Saga traces
Labuan Bajo
Labuan Bajo

I had opinions about concurrency in Go, Rust, Python and Node, but I had not measured any of them. So I built the same four problems in each language: counting primes on 16 cores, fanning out to hundreds of network calls open, slowing down a producer that outruns its consumer, and sharing a counter between workers. Those four problems ran on one machine: 16 cores, Linux 7.0, Go 1.26.4, rustc 1.97.1, Node 24.13.0, and CPython 3.14.5. Python 3.14 is the first release that treats the free-threaded build as a

Go, Rust, Python and Node concurrency: what I measured on 16 cores
IOS view of an airplane window you can draw on