Latences informatiques : aide-mémoire visuel des délais Aide-mémoire visuel des latences des opérations courantes, des caches L1 jusqu'aux RTT intercontinentaux, pour guider l'optimisation des performances. Les latences informatiques déterminent en grande partie la réactivité des applications.
Les latences informatiques déterminent en grande partie la réactivité des applications. Cet aide-mémoire visuel regroupe les délais typiques des opérations courantes et s inspire des chiffres célèbres souvent évoqués sous le nom de latency numbers, popularisés par Jeff Dean. Présenté comme un outil en ligne de commande via cheat.sh, il offre un repère pratique pour situer les coûts dans le parcours des données et guider les choix d architecture et d optimisation.
Des ordres de grandeur lisibles et actionnables
Pour tout développeur, il est crucial de comprendre que chaque couche du système ajoute son propre coût. Le chemin typique va du cache du processeur jusqu au réseau global et dépend fortement de l architecture et de la charge. Le tableau de latences associe à chaque étape une échelle de temps, ce qui permet d évaluer rapidement si une optimisation cible l usage mémoire, le CPU ou le réseau. Ce n est pas une promesse de performance universelle, mais un cadre utile pour prioriser les efforts.
- L1 cache : environ 1 ns pour un accès à une donnée chaude
- L2/L3 cache : quelques nanosecondes supplémentaires selon l architecture (environ 4 à 20 ns)
- Mémoire vive DDR/DRAM : de l ordre de 100 à 200 ns
- Stockage SSD NVMe : typiquement 50 à 150 µs
- Disque dur HDD : plusieurs millisecondes
- Réseau local et interconnexions data center : environ 0,1 à 1 ms
- Routage Internet et RTT intercontinentaux : jusqu à environ 150 ms
Ce que ces chiffres changent dans le développement
Connaître ces ordres de grandeur aide à prioriser les choix techniques. Par exemple, si une API localement appelée génère des latences autour de plusieurs centaines de microsecondes ou de millisecondes, l optimiser par la mise en cache et la réduction des chemins peut faire plus que des micro-optimisations CPU.
- Éviter les allers-retours réseau répétés : regrouper les appels, utiliser des appels par lot et des caches partagés
- Maintenir les données chaudes en mémoire : préchargement, structures adaptées et pré-fetching
- Budgets de latence : fixer des objectifs concrets pour les chemins critiques et mesurer régulièrement
Contexte et limites
Ces chiffres restent des repères et dépendent fortement du matériel, du système d exploitation et de l environnement d exécution. Les latences varient selon que les données résident en mémoire locale, sur un disque ou sur un système de fichier en réseau, et selon la charge du réseau ou la virtualisation. Dans le cloud, les différences entre data centers et les périodes de congestion peuvent faire osciller les valeurs. Utiliser ces chiffres exige prudence : ils éclairent, mais ne décrivent pas une réalité unique pour toutes les situations.
Pour terminer
En fin de compte, ce panorama rappelle que les coûts latents se cachent dans des échelles de temps très fines. L enjeu n est pas d atteindre le minimum absolu, mais de repérer le prochain goulot et d agir pour le réduire. Et vous, quels sont les goulots qui vous posent encore problème dans vos systèmes aujourd hui ?