Skip to main content
Image de couverture pour Aide mémoire sur la latence

Aide mémoire sur la latence

Quelques comparaisons de grandeurs pour mieux comprendre la notion de “performance”

Est-ce qu’un accès disque est vraiment plus lent qu’un accès en mémoire ?
Est-ce que stocker ma donnée aux US est vraiment problématique ?
Quelle débit maximum puis-je avoir sur un SSD ?

|  Operation Time |  in ns Time |  in ms Time | Memo | | ----------------------------------------- | --------------- | ----------- | ----------------------------------- | --- | | L1 cache reference | 1 |   | | | Branch misprediction |  3 | | |   | | L2 cache reference |  4 |   | | | Mutex lock/unlock |  17 |   | | | Main memory reference |  100 |   | ~100GB/sec, 100x L1 cache | | Send 2 kB over 10 Gbps network |  1,600 |  0.0016 |   | | Compress 1 kB with Zippy |  2,000 |  0.002 |   | | Read 1 MB sequentially from memory |  10,000 |  0.010 |   | | Round trip within same datacenter |  500,000 |  0.5 |   | | Read 1 MB sequentially from SSD |  1,000,000 |  1 |  ~1GB/sec SSD, 100x main memory | | Read 1 MB sequentially from disk |  5,000,000 |  5 |  ~200MB/sec HDD, 500x main memory | | Read 1 MB sequentially from 1Gbps network | 10,000,000 |  10 |   | | Disk seek |  10,000,000 | 10 | 20x datacenter round trip  | | TCP packet round trip between continents | 150,000,000 |  150 |   |

Therefore, it is possible to read:

  • sequentially from HDD at a rate of ~200MB per second
  • sequentially from SSD at a rate of ~1 GB per second
  • sequentially from main memory at a rate of ~100GB per second (burst rate)
  • sequentially from 10Gbps Ethernet at a rate of ~1000MB per second


  • 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

On retrouve souvent ce genre de référence dans les préparation d’entretien tech “à la Google”.

Cependant, il est intéressant d’avoir ces échelles de grandeur en tête.
Quelques exemples :\

  • estimer le temps nécessaire au transfert d’une vidéo
  • décider si passer sur une système distribué est pertinent