Volante

Volante : Volante Developer's Guide : Numbers every programmer should know

Jeffrey Dean, one of the architects of some key Google services, gave a talk Building Software Systems at Google and Lessons Learned at Stanford. One of his slides had the following list of numbers:

L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns
Mutex lock/unlock 25 ns
Main memory reference 100 ns
Compress 1K bytes w/ cheap algorithm 3,000 ns
Send 2K bytes over 1 Gbps network 20,000 ns
Read 1 MB sequentially from memory 250,000 ns
Round trip within same datacenter 500,000 ns
Disk seek 10,000,000 ns
Read 1 MB sequentially from disk 20,000,000 ns
Send packet CA->Netherlands->CA 150,000,000 ns

Knowing those numbers helps understand e.g. why bigger cache usually increases performance of databases (including Volante).

← license  •  the end

Volante is maintained by Krzysztof Kowalczyk