Por @Alvy — 8 de Marzo de 2022

Latency Numbers Every Programmer Should Know By Year

La latencia se conoce vulgarmente como retardo, aunque técnicamente sea una suma de retardos típica de la transmisión de paquetes en una red, o más en general la diferencia entre causa y efecto en diversos sistemas, ya sean una red de comunicaciones, al leer una memoria RAM o al recibir los disparos de los enemigos en un videojuego online (entonces se suele llamar lag, aunque son lo mismo).

A este respecto, Colin Scott ha creado este diagrama interactivo con valores de latencia importantes para programación que a veces viene bien conocer, o al menos tener una idea de su magnitud. Es una especie de puesta al día de la tabla que en su día creara Peter Norvig: Tiempos aproximados de diversas operaciones en un PC (2002) que listaba cerca de una decena.

La barra de la parte superior del diagrama permite «cambiar de año», de modo que se puede ver cuánto tardaban los procesos en cualquier momento entre 1990 y 2020, aunque sea de forma aproximada. Cada bloque simboliza 1 nanosegundo. En la lista hay valores sobre:

  • Tiempos de acceso a memoria caché L1/L2
  • Lectura de memoria
  • Envío de información a través de una red
  • Compresión de datos
  • Lectura y escritura en disco y en SSD
  • Tiempo de viaje ida/vuelta de los paquetes en un datacenter
  • Tiempo de viaje ida/vuelta entre California y Países Bajos

Un poco de todo y datos de esos útiles que nunca sabes cuándo te pueden venir bien.

Relacionado:

Compartir en Flipboard Publicar / Tuitear Publicar