Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
Jim Calabro walks through how bloom filters work, how Bluesky moved from multiple hash functions to double hashing to cut contention, and then explores the one-hash bloom filter from Lu et al., which splits the bit array into partitions with pairwise coprime sizes so a single hash can stand in for k independent ones.
6 min · 1,387 words
Does Moving a GPU Server's Request Loop into the Kernel Save CPU?
Eunomia tested bpf-gpu-server, which lets eBPF and io_uring own a GPU server's TCP path so no user thread touches a request. Against an efficient epoll baseline its CPU use and latency matched; the post explains where per-request cost really goes and what actually moved the numbers.
9 min · 2,015 words
Faster than earcut: triangulating 3.7M map polygons in 489 ms
Evgen Bodunov of Globus Software explains how the GLMap engine's polygon triangulator, now open-sourced as earstrip (one C++ header plus a WebAssembly npm build), beats earcut: 14% faster in C++ and 1.4–2.1x faster in the browser, covering convex shortcuts, triangle strips and branch-free counting.
17 min · 3,810 words
Hyper Optimizing Kimi K3 in vLLM: Moving Fast and Responsibly
The vLLM team and NVIDIA describe using coding agents to build a unified CuTe DSL decode path for Kimi K3 on NVIDIA GB300, reaching over 840 tokens/s at batch 1 on 16 GPUs, and the guardrails (isolated changes, correctness tests, reproducible benchmarks) used to land agent-written kernels responsibly.
10 min · 2,277 words
Superoptimizing an FPU Emulator
purplesyringa wanted a branch-free way to compute the lowest set bit of a float for a floating-point emulator library, and instead of hand-deriving it wrote a small superoptimizer that searched instruction sequences and found a surprisingly clever rewrite.
4 min · 974 words
Postgres DELETE Can Actually Scale
DBOS explains how Postgres actually deletes rows and how it made workflow retention deletes scale: batched deletes of the oldest workflows, dropping foreign keys so tables are cleaned in phases, debugging a 20-minute index lookup, and why it chose DELETE over dropping partitions.
7 min · 1,532 words
What changes when your search index lives on S3?
Infino explains how putting a full-text search index on object storage changes the cost and latency model: every random read is a billed GET taking tens of milliseconds, and how superfiles, manifests and careful layout keep agent queries fast without packing the working set on local disks.
9 min · 2,019 words
JPEG XL vs AVIF for web use-cases
Jake Archibald compares JPEG XL and AVIF for web delivery after JPEG XL landed in major browsers: compression efficiency, decode/encode cost, progressive rendering, animation, HDR, and when each format wins for typical site images.
47 min · 10,731 words
Better HTTP/1 connection reuse
The Go team explains why HTTP/1 connections often fail to be reused when response bodies are closed without being drained, how costly that is, the tricky manual workarounds developers have used, and how Go 1.27's net/http Transport now drains unread bodies automatically so closing the body is enough.
6 min · 1,453 words
Announcing the Waylith Engine and Update 1.7
Ludeon Studios moves RimWorld from Unity to its in-house Waylith engine in update 1.7, reporting roughly 2–4× performance gains, save and mod compatibility with 1.6, an unstable Steam beta for testing, and a tease that RimWorld will not be the only Waylith game.
2 min · 548 words
Dan Luu argues that as it becomes easier to make real performance gains, it also becomes easier to game benchmarks with fake ones, surveying how reward-hacking shows up across regex, web servers, terminals, and other systems, and what to watch for when reading performance claims.
17 min · 3,940 words
A slightly faster slimmer curl
Daniel Stenberg describes recent curl and libcurl work that trims binary size and improves performance: removing unused code paths, tighter defaults, and build-time options that make curl slightly faster and leaner without changing its familiar CLI behavior.
3 min · 707 words
Indra OCR: a 1M-parameter OCR model that reads 49 pages per second on CPU
Datalab releases Indra OCR, an open OCR package built around a 1M-parameter recognition model that reads 49 pages per second on 32 CPU cores, 11-17x faster than Tesseract and PP-OCR, while returning full layout with line and block boxes, labels, reading order and clean markdown or JSON output.
7 min · 1,500 words
C vs C#: racing VLC's Gaussian blur
Martin Finkel ports a real VLC video filter, the Gaussian blur, line by line to C# with .NET Native AOT and races it against the original C inside VLC 4 on the same frames with byte-identical output, then optimizes both sides and compares again.
9 min · 2,060 words
Chasing a -O2 pessimization in antcc
The author of the antcc C compiler investigates why a Lua benchmark ran slower at -O1 and -O2 than unoptimized, digging into the interpreter dispatch loop, register allocation, SSA phi handling and stack slots to find and fix the optimization that made the code worse.
12 min · 2,750 words
purplesyringa investigates vfmaddrnd231pd, an FMA instruction with per-instruction rounding control documented in Intel's 2024 Software Development Manual that the GNU assembler doesn't recognize, whose documented intrinsics are missing from Clang and ICC, and that has vanished from the 2026 SDM.
2 min · 415 words
Parsing JSON at tens of gigabytes per second… in Python
Daniel Lemire benchmarks JSON parsing on free-threaded Python 3.14 using eight hours of GH Archive events (7.6 GB), comparing the standard json module, orjson, msgspec and his fastsimdjson library across up to 64 threads, and shows Python can reach tens of gigabytes per second.
3 min · 789 words
Speeding up the Unreal editor by… not using unnecessarily secure hash methods
A profiling write-up finding that Unreal Engine's editor launch hashes full shader source files with cryptographically secure SHA-1, and how switching to the engine's existing xxHash implementation sped this up, plus notes on preparing the change as a pull request.
4 min · 986 words
PGO or not PGO this is the dilemma. Step 2Step 2: How it works
The second of Marco Tusa's three-part Percona series on profile-guided optimization explains how PGO works as a two-pass build: instrumented binaries record per-edge control-flow counters during a training workload, and the compiler then uses those counts for inlining, branch layout, hot/cold splitting and code ordering, which is why MySQL's MTR test suite transfers well as training data.
5 min · 1,174 words
Purplesyringa shows how to compute count-leading-zeros and count-trailing-zeros with floating-point bit tricks instead of native instructions, yielding a vectorizable polyfill in Rust, and explains why the exponent manipulation works.
4 min · 891 words