#22020 - Numbers
https://samwho.dev/numbers/?foUne représentation des temps d’accès mémoire en informatique. On peut aussi voir l’évolution en fonction des années.
Aujourd’hui, la latence pour accéder à la mémoire cache CPU, c’est de l’ordre de la nanoseconde.
L’accès à la mémoire vive, de la microseconde (1 000 à 10 000 fois plus lent).
L’accès à un disque dur, de l’ordre de la milliseconde (1 000 à 10 000 fois plus lent que la mémoire vive).
Bien sûr, la mémoire cache est fulgurante, mais aussi très limitée, et un disque dur, bien que plus lent d’un facteur 10⁶ à 10⁸, stocke plus de données (d’un facteur similairement grand).
La mémoire cache est typiquement utilisée pour les petits calculs mais répétés un grand nombre de fois (une petite boucle “for” par exemple). En optimisant et en réduisant la taille des instructions dans ce genre de boucles (quite à faire plusieurs boucles), on peut largement accélérer leur exécution.
Bien sûr, l’utilisateur ne verra pas la différence en 1 ms et 1 ns, mais on parle d’ici d’une différence de plusieurs ordres de magnitude : si on fait 1 000 000 d’instructions de la sorte, celles qui tiennent dans la mémoire cache prendront 1 ms au total, alors que celles qui doivent utiliser le cache disque prendront 18 minutes.
En gros, pour le CPU, la différence entre sa cache L1 et un SSD, c’est comme pour nous la différence entre 1 ms et 18 minutes. Ou encore, entre 1 seconde et 2 semaines.