Back of the Envelope Numbers

Powers of Two

Power Exact Value Approx Value Bytes
7 128 1/2
8 256 1
10 1024 1 thousand 1 KB
16 65,536 64 KB
20 1,048,576 1 million 1 MB
30 1,073,741,824 1 billion 1 GB
32 4,294,967,296 4 GB
40 1,099,511,627,776 1 trillion 1 TB

Latency

Action Latency Notes
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^5 ns 10 us
Send 1 KB bytes over 1 Gbps network 10^5 ns 10 us
Read 4 KB randomly from SSD 1.5*10^5 ns 150 us ~1GB/sec SSD
Read 1 MB sequentially from memory 2.5*10^5 ns 250 us
Round trip within same datacenter 5*10^5 ns 500 us
Read 1 MB sequentially from SSD 10^6 ns 10^3 us 1 ms ~1GB/sec SSD, 4X memory
HDD seek 10^7 ns 10^4 us 10 ms 20x datacenter roundtrip
Read 1 MB sequentially from 1 Gbps 10^7 ns 10^4 us 10 ms 40x memory, 10X SSD
Read 1 MB sequentially from HDD 3 * 10^7 ns 3*10^4 us 30 ms 120x memory, 30X SSD
Send packet CA->Netherlands->CA 1.5 * 10^8 ns 1.5*10^5 us 150 ms

General

Time Exponent
1ns 10^-9 seconds
1us 10^-6 seconds = 1,000 ns
1 ms 10^-3 seconds = 1,000 us = 1,000,000 ns

Sizes of Memory

Count Document Picture (SD) Picture (HD)  Video (LQ)/min Video (NQ)/min Video (HD)/min
1 5 KB 250 KB 1 MB 5 MB 50 MB
1K 5 MB 250 MB 1 GB 5 GB 50 GB
1M 5 GB 250 GB 1 TB 5 TB 50 TB
1B 5 TB 250 TB 1 PB 5 PB 50 PB
1T 5 PB 250 PB 1 EB 5 EB 50 EB

Cost

Memory CPU RAM SSD Disk/BLOB/Network
1 GB $10 $1 $0.10 $0.01
1 TB $10k $1K $100 $10
1 PB $10M $1M $100k $10k
1 EB $10B $1B $100M $10M

Time

Time Exact Approx
Hour 3600 10^3
Day 86400 10^5
Month 2592000 10^6

Compression

What Compression
HTML 2-3x
English 2-4x
Source Code 2-4x
Executables 2-3x
RPC 5-10x

Performance

Operation Latency Throughput 1 MiB 1 GiB
Sequential Memory R/W (64 bytes) 5 ns 10 GiB/s 100 μs 100 ms
Hashing, not crypto-safe (64 bytes) 25 ns 2 GiB/s 500 μs 500 ms
Random Memory R/W (64 bytes) 50 ns 1 GiB/s 1 ms 1 s
Fast Serialization [8] [9] N/A 1 GiB/s 1 ms 1s
Fast Deserialization [8] [9] N/A 1 GiB/s 1 ms 1s
System Call 500 ns N/A N/A N/A
Hashing, crypto-safe (64 bytes) 500 ns 200 MiB/s 10 ms 10s
Sequential SSD read (8 KiB) 1 μs 4 GiB/s 200 μs 200 ms
Context Switch [1] [2] 10 μs N/A N/A N/A
Sequential SSD write, -fsync (8KiB) 10 μs 1 GiB/s 1 ms 1 s
TCP Echo Server (32 KiB) 10 μs 4 GiB/s 200 μs 200 ms
Sequential SSD write, +fsync (8KiB) 1 ms 10 MiB/s 100 ms 2 min
Sorting (64-bit integers) N/A 200 MiB/s 5 ms 5 s
Random SSD Seek (8 KiB) 100 μs 70 MiB/s 15 ms 15 s
Compression [3] N/A 100 MiB/s 10 ms 10s
Decompression [3] N/A 200 MiB/s 5 ms 5s
Serialization [8] [9] N/A 100 MiB/s 10 ms 10s
Deserialization [8] [9] N/A 100 MiB/s 10 ms 10s
Proxy: Envoy/ProxySQL/Nginx/HAProxy 50 μs ? ? ?
Network within same region [6] 250 μs 100 MiB/s 10 ms 10s
{MySQL, Memcached, Redis, ..} Query 500 μs ? ? ?
Random HDD Seek (8 KiB) 10 ms 70 MiB/s 15 ms 15 s
Network between regions [6] [Varies][i] 25 MiB/s 40 ms 40s
Network NA East <-> West 60 ms 25 MiB/s 40 ms 40s
Network EU West <-> NA East 80 ms 25 MiB/s 40 ms 40s
Network NA West <-> Singapore 180 ms 25 MiB/s 40 ms 40s
Network EU West <-> Singapore 160 ms 25 MiB/s 40 ms 40s