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.

  1. Desktop Apple M2 Max

    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.

  2. Tile servers Apple M2 Max

    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.

  3. Tile servers Apple M2 Max

    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.

  4. Web maps AMD Ryzen 7 6800H with Radeon Graphics

    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.

  5. Caches AWS Graviton3

    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.

  6. Bundlers Apple M2 Max

    Vite vs esbuild vs tsup

    Cold production builds of a TypeScript library — ESM, minified, no declarations.

  7. Caching proxies Apple M2 Max

    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.

  8. Code quality Apple M2 Max

    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.

  1. Published:Caching proxiesVarnish vs Vinyl vs NGINX (HLS delivery)TTFB, coalescing, grace, throughput across topologies
  2. Published:CachesRedis vs Valkey vs DragonflyThroughput, tail latency, memory pressure
  3. Published:BundlersVite vs esbuild vs tsupCold builds, output weight
  4. Published:DesktopTauri vs ElectronIPC across the boundary, webview parity, startup and soak memory, size
  5. Published:Web mapsMapLibre vs MapboxFrame time, memory, visual parity
  6. 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
  7. 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