2019-02-16 22:53:18 +03:00
|
|
|
|
[38;5;242m# Latency numbers every programmer should know [m
|
|
|
|
|
|
|
|
|
|
1ns Main memory reference: Send 2,000 bytes Read 1,000,000 bytes
|
|
|
|
|
[37m▗▖ [m100ns over commodity network: sequentially from SSD: 61us
|
|
|
|
|
[34m▗▖ [m62ns [31m▗ [m
|
|
|
|
|
L1 cache reference: 1ns [32m▗ [m
|
|
|
|
|
[37m▗▖ [m1us Disk seek: 2ms
|
|
|
|
|
[34m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [mSSD random read: 16us [31m▗▖▗▖▗ [m
|
|
|
|
|
Branch mispredict: 3ns [34m [m[32m▗▖ [m
|
|
|
|
|
[37m▗▖▗▖▗▖ [m Read 1,000,000 bytes
|
|
|
|
|
Compress 1KB wth Snappy: Read 1,000,000 bytes sequentially from disk:
|
|
|
|
|
L2 cache reference: 4ns 2us sequentially from memory: 947us
|
|
|
|
|
[37m▗▖▗▖▗▖▗▖ [m[34m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m3us [31m▗ [m
|
|
|
|
|
[34m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[32m▗ [m
|
|
|
|
|
Mutex lock/unlock: 16ns [34m [m Packet roundtrip
|
|
|
|
|
[37m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m Round trip CA to Netherlands: 150ms
|
|
|
|
|
[37m▗▖▗▖▗▖▗▖▗▖▗▖▗ [m10us = [32m▗▖[m in same datacenter: 500us [31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[34m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
100ns = [34m▗▖[m [34m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[37m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[34m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[37m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[34m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[37m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[34m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[37m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[34m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[32m [m[31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[37m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[34m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m [31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[37m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[34m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m1ms = [31m▗▖[m [31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[37m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[34m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[37m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[34m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[37m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[34m [m[32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[37m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m [32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[37m [m [32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[31m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[38;5;242m# [github.com/chubin/late.nz] [MIT License] [m[32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m[31m [m
|
|
|
|
|
[38;5;242m# Console port of "Jeff Dean's latency numbers" [m[32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[38;5;242m# from [github.com/colin-scott/interactive_latencies] [m[32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|
|
|
|
|
[38;5;242m [m[32m▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖▗▖ [m
|