Benchmarks for developer tools, with the runs attached.
I pin the versions, hold the corpus still, warm the cache, and fork a fresh process for every pass. You get the number, the machine it came from, and every sample behind it.
Posts
Newest first.
Tauri vs Electron
One web frontend, byte for byte the same, dropped into a Tauri host and an Electron host. Then the questions teams actually fight about: what does it cost to move data across the webview boundary, does the same frontend behave the same in three webviews, what happens to memory after ten minutes of real work, and how big is the thing you ship. Two machines, one per OS. I ship Tauri apps. The runner's public; check my numbers.
Martin vs go-pmtiles vs tileserver-gl vs mbtileserver vs BBOX
Five open-source tile servers serving one pre-built vector tile archive of Berlin, as MBTiles and as PMTiles, with identical tiles in both: single-tile latency at four zoom levels, throughput at 10 and 100 clients, a random tile walk over 256 tiles, four-tile viewport bursts, cold start and memory.
Martin vs Tegola vs BBOX vs pg_tileserv vs TiPg vs ldproxy
Six open-source vector tile servers generating Mapbox Vector Tiles on the fly from the same PostGIS database, on a pinned Berlin OpenStreetMap corpus: single-tile latency, throughput at 10 and 100 clients, four-tile viewport bursts, cold start and memory. A re-run of the 2024 Rechsteiner thesis matrix on current releases.
MapLibre GL JS vs Mapbox GL JS
The fork measured against the code it forked from. mapbox-gl 1.13.3, the last BSD-licensed Mapbox release, beside maplibre-gl 5.24.0 and 6.7.0, all three fed the same self-hosted Berlin tiles, style, sprites and glyphs in one pinned Chromium on one GPU: startup timeline, frame time cold and warm, memory. I've committed code to MapLibre. The runner's public; check my numbers.
Redis vs Valkey vs Dragonfly
In-memory SET/GET throughput, pipelining, and memory efficiency — Redis 8 vs Valkey 9 vs Dragonfly 1.40 on dedicated ARM hardware.
Vite vs esbuild vs tsup
Cold production builds of a TypeScript library — ESM, minified, no declarations.
HTTP caching proxies for HLS delivery
Varnish, Vinyl, and NGINX across four HLS workloads: hit-path TTFB, segment serve, miss-storm coalescing, and origin-flap grace.
ESLint vs Biome
Four equivalent rule classes over nearly 100,000 lines of JavaScript.
Queue
What runs next, in no promised order. Each entry becomes a page when its runner is reproducible.
- Published:Caching proxiesVarnish vs Vinyl vs NGINX (HLS delivery)TTFB, coalescing, grace, throughput across topologies
- Published:CachesRedis vs Valkey vs DragonflyThroughput, tail latency, memory pressure
- Published:BundlersVite vs esbuild vs tsupCold builds, output weight
- Published:DesktopTauri vs ElectronIPC across the boundary, webview parity, startup and soak memory, size
- Published:Web mapsMapLibre vs MapboxFrame time, memory, visual parity
- Published:Tile serversMartin vs Tegola vs BBOX vs pg_tileserv vs TiPg vs ldproxySingle-tile latency, throughput at 10 and 100 clients, cold start, memory
- Published:Tile serversMartin vs go-pmtiles vs tileserver-gl vs mbtileserver vs BBOXServing one pre-built archive as MBTiles and PMTiles: single-tile latency, throughput, random walk, cold start, memory