Numbers Every Engineer Should Know
easyJeff Dean's Latency Numbers Every Programmer Should Know is the canonical reference for back-of-envelope reasoning. Memorize a small set of anchors and derive everything else from them in seconds.
Key Concepts
Latency anchors
L1 cache 0.5 ns
Branch mispredict 5 ns
L2 cache 7 ns
Mutex lock/unlock 25 ns
Main memory 100 ns
Compress 1KB (Zippy) 3 μs
Send 1KB over 1Gbps 10 μs
Read 1MB from RAM 250 μs
Roundtrip same DC 500 μs
Read 1MB from SSD 1 ms
Disk seek 10 ms
Read 1MB from disk 20 ms
Send packet CA→NL→CA 150 ms
Throughput anchors
1 KB = 10^3 B
1 MB = 10^6 B
1 GB = 10^9 B
1 TB = 10^12 B
1 PB = 10^15 B
Seconds/day ≈ 86,400 ≈ 10^5
Seconds/month ≈ 2.6 × 10^6
Seconds/year ≈ 3.15 × 10^7
1B/day averaged ≈ 11,574 ops/s
1M ops/s daily ≈ 86.4B ops/day
Server capacity
Modern server: 32-64 cores, 128-512GB RAM, 10-40 Gbps NIC
NVMe SSD: 1-10 GB/s sequential read, 500K-1M IOPS
Redis (single instance): ~100K-1M ops/s
Postgres OLTP: 5K-50K QPS per node
MySQL: similar; less for write-heavy
Kafka broker: 100K-1M msgs/s
nginx: 50K+ RPS per core
Envoy: similar; mTLS adds ~30% CPU
CDN PoP: hundreds of Gbps; sub-50ms global p99
Storage size estimates
Text message: ~100 B (with metadata)
Tweet: ~300 B (with metadata)
Email: ~5 KB (text + headers)
User row: ~1 KB
Photo: 100 KB - 5 MB
HD video: ~1 GB/hour at decent bitrate
Log line: ~500 B with structured fields
Compressed log: ~80 B/line (10x compression typical)
Bandwidth math
1 Gbps = 125 MB/s sustained
10 Gbps = 1.25 GB/s
100 Gbps = 12.5 GB/s
1 Tbps = 125 GB/s
Send 1 GB over 1 Gbps = 8 seconds
Send 1 TB over 10 Gbps = ~13 minutes
Send 1 PB over 100 Gbps = ~22 hours (assuming sustained)
Sanity checks
Latency < 1 RTT impossible — design around physical limits.
100M users × 100 KB photos × 7 daily backups = 70 TB/day — does the storage budget fit?
Peak factor: average × 5-10. Plan for peak.
Compare with reality: 'Netflix sized for 100M concurrent streams at 5 Mbps → 500 Tbps egress.' If your design exceeds this without infrastructure scale, you're off.
Two nines on QPS: '100K QPS' should be cross-checked with required capacity in cores, replicas, network.