Latency numbers every programmer should know

ASleekGeek
2 min readMar 21, 2023

Latency comparison numbers

Photo by Possessed Photography on Unsplash

Before anything I would like to post a disclaimer that none of these are my measurements and are collected from various different places, GitHub, blogs etc. Within the industry they are commonly known as “napkin estimations”, They are there to serve as a guide for various effects on the ways you choose to communicate.

You can find much more information on my GitHub fork on System Design

Latency Comparison Numbers
--------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 10,000 ns 10 us
Send 1 KB bytes over 1 Gbps network 10,000 ns 10 us
Read 4 KB randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
Read 1 MB sequentially from memory 250,000 ns 250 us
Round trip within same datacenter 500,000 ns 500 us
Read 1 MB sequentially from SSD* 1,000,000 ns 1,000 us 1 ms ~1GB/sec SSD, 4X memory
HDD seek 10,000,000 ns 10,000 us 10 ms 20x…

--

--

ASleekGeek

42yo, Software developer, husband, father, reader of all things, gamer and a lifetime #MUFC supporter, Aspiring guitar player