Skip to content

Instantly share code, notes, and snippets.

View erguven's full-sized avatar
🎯
Focusing

Fatih Ergüven erguven

🎯
Focusing
View GitHub Profile
@erguven
erguven / latency.markdown
Created December 9, 2018 15:55 — forked from hellerbarde/latency.markdown
Latency numbers every programmer should know

Latency numbers every programmer should know

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 with Zippy ............. 3,000 ns  =   3 µs
Send 2K bytes over 1 Gbps network ....... 20,000 ns  =  20 µs
SSD random read ........................ 150,000 ns  = 150 µs

Read 1 MB sequentially from memory ..... 250,000 ns = 250 µs

@erguven
erguven / latency.txt
Created December 9, 2018 15:52 — forked from jboner/latency.txt
Latency Numbers Every Programmer Should Know
Latency Comparison Numbers (~2012)
----------------------------------
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 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
### Keybase proof
I hereby claim:
* I am erguven on github.
* I am erguven (https://keybase.io/erguven) on keybase.
* I have a public key ASBJi3T0q6SVqun6cZe_cR1vgMVL0SOe6Fc_nMX4onwgNAo
To claim this, I am signing this object: