Sujet : Re: strlcpy and how CPUs can defy common sense
De : ram (at) *nospam* zedat.fu-berlin.de (Stefan Ram)
Groupes : comp.miscDate : 26. Jul 2024, 17:34:25
Autres entêtes
Organisation : Stefan Ram
Message-ID : <Cache-20240726173402@ram.dialup.fu-berlin.de>
References : 1 2
ram@zedat.fu-berlin.de (Stefan Ram) wrote or quoted:
This video might be a hit with some folks: "The strange details
of std__string at Facebook" - Nicholas Ormrod, CppCon 2016.
Also, "Efficiency with Algorithms, Performance with Data Structures"
- Chandler Carruth, CppCon 2014, from which I take:
CPUS HAVE A HIERARCHICAL CACHE SYSTEM
One cycle on a 3 GHz processor 1 ns
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 20xL2, 200xL1
Compress 1K bytes with Snappy 3,000 ns
Send 1K bytes over 1 Gbps network 10,000 ns 0.01 ms
Read 4K randomly from SSD 150,000 ns 0.15 ms
Read 1 MB sequentially from memory 250,000 ns 0.25 ms
Round trip within same datacenter 500,000 ns 0.5 ms
Read 1 MB sequentially From SSD 1,000,000 ns 1 ms 4x memory
Disk seek 10,000,000 ns 10 ms 20xdatacen. RT
Read 1 MB sequentially from disk 20,000,000 ns 20 ms 80xmem.,20xSSD
Send packet CA->Netherlands->CA 150,000,000 ns 150 ms
.