程序员必背
- 常见的2的次幂。1024 (2^10), 512(2^9), 256(2^8), 255(2^8-1), 128(2^7)。2的字节次幂: 512(2^8), 65536(2^16), 存储量级: 1024(2^10). 估算2的次幂:尝试2^10 ~ 1000
- 16进制与二进制,十进制之间的转换.记住: 8(hex) = 1000 (bin), 7(hex) = 0111(bin), F(hex) = 1111(bin)...
- 各种数据源或设备的访问时间。
--------------------------
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
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
Disk seek 10,000,000 ns 10,000 us 10 ms 20x datacenter roundtrip
Read 1 MB sequentially from disk 20,000,000 ns 20,000 us 20 ms 80x memory, 20X SSD
Send packet CA->Netherlands->CA 150,000,000 ns 150,000 us 150 ms
Notes
-----
1 ns = 10^-9 seconds
1 us = 10^-6 seconds = 1,000 ns
1 ms = 10^-3 seconds = 1,000 us = 1,000,000 ns
1 ns (nanoseconds) = 1纳秒 = 10^-9 秒 = 1/10亿 秒;
1 us (microsecodns) = 1微妙 = 10^-6 秒 = 1/100万 秒
1 ms (milliseconds) = 1毫秒 = 10^-3 秒 = 1/1千 秒
CA: 加利福尼亚
Netherlands: 荷兰