#performance
Wiki 26
- Arena allocation Region-based memory management β allocate many objects into one buffer, hand out references or indices, free the whole region at once
- Compiler codegen luck β a cosmetic edit that ran 6x faster A one-line C rewrite (*p++ = x vs *p = x; p++;) flips Clang between a branch and a branchless csel/cmov, changing quicksort speed 6x
- Conditional move (cmov / csel) A branchless instruction that picks one of two values from a flag; faster than a branch only when the branch is unpredictable
- DuckDB Quack Protocol DuckDB ships an HTTP-based client/server wire protocol; 60M rows in <5s (3Γ Arrow Flight, 32Γ Postgres), beats Postgres on small writes up to 8 threads
- Eliminating Golang bounds checks with unsafe unsafe.SliceData + unsafe.Add drops a bounds check the compiler won't β 2x faster LE loads
- Everyone Should Know SIMD Mitchell Hashimoto's five-step shape for everyday SIMD, worked through a Ghostty scan loop in Zig
- Golang maps after Swiss Tables What Golang 1.24 replaced the bucket map with, and why 30% in microbenchmarks is 1.5% in production
- Huge pages 2 MB / 1 GB Linux memory pages instead of the 4 KB default β fewer page faults, far less TLB pressure, at the cost of upfront reservation
- Inside Zig's incremental compilation How Zig rebuilds in 50-70ms: cached ZIR, an analysis-unit dependency graph, in-place linking
- Kernel self-patching Three Linux runtime-rewriting mechanisms β jump_label, static_call, alternative_instructions β that let one vmlinux boot optimally on dozens of CPU generations
- Linux 7.0 cuts PostgreSQL throughput in half Removing PREEMPT_NONE in Linux 7.0 lets the scheduler preempt processes mid-page-fault while holding a PostgreSQL spinlock, melting CPU on contended workloads
- Meta-Tracing JIT compilation technique that traces the interpreter executing guest code, not the guest code itself
- Postgres LISTEN/NOTIFY Can Actually Scale How DBOS took Postgres LISTEN/NOTIFY from 2.9K to 60K writes/sec by batching notifications
- Profiling eBPF Code Srinivasan's method for measuring what an eBPF file-open hook costs β C harness, perf, JIT symbols
- Python sets and dicts are not O(1) Lemire builds a Python set that takes quadratic time from colliding integers, then shows a plain dict slowing 9x from cache misses alone
- Retrofitting JIT Compilers into C Interpreters How yk uses meta-tracing to automatically derive JIT compilers from C interpreters with ~400 lines of changes
- ScyllaDB's trie-based SSTable index Replacing Summary.db + Index.db with a page-packed prefix tree: up to 3x read throughput
- Shrinking 1.1.1.1's DNS cache entries Five Rust memory-layout changes cut Cloudflare's per-entry DNS cache footprint 56% (953 to 420 bytes), freeing ~100 TB and speeding up the cache
- Speeding up the Gleam formatter with Rust arenas Cavalieri closed a 3-year-old Gleam issue by switching the pretty printer's boxed Document tree to arena references β ~24% faster, ~10% less peak memory
- Spinlock Locking by busy-waiting in a tight loop instead of sleeping; cheap when critical sections are short, catastrophic when they aren't
- The specification.website Checklist A curated, opinionated checklist of nine web-spec categories (foundations, SEO, a11y, security, well-known, agent readiness, performance, resilience, i18n) with Required/Recommended/Optional/Avoid tags
- Things You Didn't Know About Indexes Common index pitfalls (composite order, functions) and lesser-known types (partial, covering, functional)
- Tokio gives progress, not ordering Tokio's fairness guarantee assumes a task bound that only the application can supply
- Wasmi 2.0 interpreter engineering How Wasmi 2.0 got ~2.2x faster than 1.0 β threaded dispatch, accumulator registers, flat instance layout, lock-free code map, and a Rust codegen trap
- Watching Green Tea move through the Golang heap Phil Eaton measures Golang 1.26's Green Tea GC with perf, and the sparse pages it can't reclaim
- Why cache padding uses 128 bytes on a 64-byte cache line Ivan Boldyrev benchmarks 64 vs 128-byte atomic padding β Skylake shows it, Ice Lake and M1 don't
Books 5
- Feedback Control for Computer Systems Janert teaching PID loops and stability theory to engineers building autoscalers and rate limiters
- High Performance Browser Networking Grigorik on the TCP, TLS, HTTP/2 and WebRTC mechanics behind browser page-load speed
- Systems Performance Gregg's Linux performance methodology β USE method, flame graphs, eBPF tracing tools
- The Art of Computer Systems Performance Analysis Jain's 1991 textbook on experimental design, queueing models and statistics for benchmarking
- Understanding Software Dynamics Sites on measuring what software really does on a machine, via the KUtrace kernel tracer