Developer benchmarks
Small, reproducible measurements I run while building and reviewing production systems. Each page states the question, the numbers, the exact setup and the caveats. One run on one machine is a direction, not a verdict: re-run the code on yours.
AI engineering
DevOps
Frontend
Go
- 100,000 goroutines in Go: about 273 MB, 568 msHow much memory do 100,000 goroutines use in Go?
- Go hello world binary size: 2.0 MB, 1.4 MB stripped, 1.2 MB for LinuxHow big is a Go hello world binary?
- Go slice preallocation: 0.95 ms vs 4.49 ms, 1 vs 39 allocationsDoes preallocating a slice with make improve Go performance?
- Go strings.Builder vs +=: 0.18 ms vs 163.9 ms, 21 vs 50,097 allocationsIs strings.Builder faster than string concatenation in Go?
- Go sync.Pool vs allocating a new buffer: 21 ns vs 624 ns, 0 allocationsHow much faster is sync.Pool than allocating a new bytes.Buffer each time in Go?
Java
- Java ArrayList.contains vs HashSet.contains: 1,762 ms vs 0.25 msIs HashSet.contains faster than ArrayList.contains in Java?
- Java parallel streams: 3.6x slower on 1,000 items, 6x faster on 50 millionWhen are Java parallel streams slower than sequential streams?
- Java records vs a classic data class: 1 line vs 34How many lines does a Java record save over a classic data class?
- Java streams vs for loops: 4.4 ms vs 4.5 ms (boxing costs 6.5 ms)Are Java streams slower than for loops?
- Java StringBuilder vs += in a loop: 0.5 ms vs 448 msIs StringBuilder faster than string concatenation in a loop in Java?
JavaScript
- JavaScript Array.includes vs Set.has: 386.6 ms vs 0.56 msIs Set.has faster than Array.includes in JavaScript?
- JavaScript bundle size: moment + lodash 138 KB vs dayjs + lodash-es 11 KBHow much smaller is a bundle with dayjs and a single lodash import than with moment and full lodash?
- JavaScript Promise.all vs sequential await: 0.10 s vs 1.01 sIs Promise.all faster than awaiting in a loop?
Linux
- cron vs systemd timer: where does the error go?Does cron log a failing job's error and exit code?
- journald disk usage: 47.7 MB to 16.0 MB after rotate and vacuumHow do I limit journald disk usage?
- logrotate compress: 24.8 MB to 3.8 MBHow much space does logrotate compression save?
- nginx proxy_cache: 868 vs 70 requests/s, 1 backend hit vs 200How much does nginx proxy_cache improve throughput?
- systemd MemoryMax: OOM-kill a runaway process without taking down the hostHow do I stop a memory leak from taking down a Linux server?
Python
- DuckDB vs Polars vs pandas on 30 million rows: 6.6 s vs 22.9 s vs 178 sHow fast is DuckDB compared with Polars and pandas on a 1.3 GB CSV?
- pip vs uv install time: 30.1 s vs 3.8 s (0.4 s with warm cache)Is uv faster than pip?
- Python __slots__: 92 MB vs 188 MB for 1 million objectsHow much memory does __slots__ save in Python?
- Python asyncio vs threads vs sequential: 0.10 s vs 0.5 s vs 10.4 sHow much faster is asyncio than sequential calls in Python?
- Python generator vs list comprehension memory: under 1 MB vs 204 MBDo generator expressions use less memory than list comprehensions in Python?
- Python lru_cache: fib(32) in 81 microseconds instead of 0.44 sHow much faster is functools.lru_cache for recursive Fibonacci in Python?
SQL
- N+1 query problem: 2,001 queries (47.7 ms) vs one JOIN (2.8 ms)How much slower is the N+1 query pattern than a JOIN?
- Parquet vs CSV: 3x smaller and 3.6x faster in DuckDBHow much smaller and faster is Parquet than CSV?
- SQLite index on 5 million rows: 0.06 ms vs 403 ms per queryHow much does an index speed up a lookup on 5 million rows?
- SQLite WAL mode: 0.29 s vs 1.91 s for 3,000 commitsHow much faster are SQLite writes in WAL mode?