49 puntos por GN⁺ 2024-03-11 | 4 comentarios | Compartir por WhatsApp

Representación visual de los números de latencia que todo programador debería conocer

  • Referencia a caché L1: 1 nanosegundo
  • Fallo en la predicción de bifurcación: 3 nanosegundos
  • Referencia a caché L2: 4 nanosegundos
  • Bloqueo/desbloqueo de mutex: 17 nanosegundos
  • Transmisión de 1 KB de datos a través de una red de 1 Gbps: 44 nanosegundos
  • Referencia a memoria principal: 100 nanosegundos
  • Compresión de 1 KB de datos con Zippy: 2 microsegundos
  • Lectura secuencial de 1 MB desde memoria: 3 microsegundos
  • Lectura aleatoria de 4K desde SSD: 16 microsegundos
  • Lectura secuencial de 1 MB desde SSD: 49 microsegundos
  • Tiempo de ida y vuelta dentro del mismo centro de datos: 500 microsegundos
  • Lectura secuencial de 1 MB desde disco: 825 microsegundos
  • Búsqueda en disco: 2 milisegundos
  • Envío de un paquete desde California hasta los Países Bajos y regreso: 150 milisegundos

Opinión de GN⁺

  • Estos datos pueden ser una referencia importante para los programadores al diseñar sistemas o al optimizar el rendimiento. Si se sabe cuánto tiempo toma cada operación o tarea, es posible identificar qué parte provoca cuellos de botella y mejorarla.
  • Por ejemplo, al comparar el tiempo de acceso a memoria con la latencia de red, se puede ver que minimizar las llamadas de red y procesar los datos en memoria es mucho más rápido. Esto puede ser una consideración importante en el diseño de sistemas distribuidos.
  • Estas latencias pueden cambiar con los avances del hardware y la tecnología, por lo que es importante mantenerse actualizado. Por ejemplo, gracias a la evolución de los SSD, el tiempo de lectura en disco se ha reducido considerablemente.
  • Al adoptar nuevas tecnologías u open source, se deben considerar estas latencias para predecir el rendimiento del sistema y decidir qué tecnología será más efectiva en un entorno real. Por ejemplo, usar una solución de caché en memoria puede reducir la latencia de red, pero requiere consideraciones adicionales sobre la coherencia de caché y la sincronización de datos.

4 comentarios

 
cosine20 2024-03-11

Uff, de verdad no me gusta nada la UI/UX...

 
yangeok 2024-03-18

De verdad, sí... wow.

 
GN⁺ 2024-03-11
Comentarios de Hacker News
  • Resumen del primer comentario:

    • El usuario comparte código JavaScript que recorre los elementos hijos de un elemento HTML con la clase "latency-container" e imprime la latencia de cada uno.
    • Las latencias mostradas abarcan desde referencias a la caché L1 hasta tiempos de ida y vuelta dentro de un centro de datos.
  • Resumen del segundo comentario:

    • Evalúa que la usabilidad de la interfaz de usuario (UI) es deficiente y lo presenta como un caso interesante de experiencia de usuario (UX).
    • Critica que la UI no cumple con las expectativas del usuario para realizar su función principal y que es difícil de entender.
    • Señala que uno tendría que leer la ayuda, pero la mayoría de los usuarios no prefiere hacerlo.
    • Enfatiza que de la discusión sobre estos problemas pueden extraerse lecciones sobre UX.
  • Resumen del tercer comentario:

    • Señala que falta la palabra "Latency" en el título, lo que dificulta encontrar otros resultados al buscar.
    • Hace referencia a otras fuentes y dice que prefiere materiales basados en texto que ofrezcan más información sobre latencias.
  • Resumen del cuarto comentario:

    • Critica que parte de la UI mostrada en pantalla es difícil de leer.
    • Considera incómodo que el texto esté girado 90 grados, y evalúa que la UI es divertida, pero que para obtener información real parece priorizar más la forma que la función.
  • Resumen del quinto comentario:

    • Enumera materiales relacionados con el origen de la información sobre latencias y aporta contexto histórico sobre estos datos.
  • Resumen del sexto comentario:

    • Menciona que las latencias relacionadas con redes no son intuitivas.
    • Comparte una experiencia personal sobre cómo servicios como Google Stadia pueden ser más rápidos de lo esperado.
  • Resumen del séptimo comentario:

    • Como usuario de Firefox móvil, expresa que no entiende qué intenta mostrar la UI.
  • Resumen del octavo comentario:

    • Expresa confusión porque no entiende el significado de los números mostrados en la UI y le parecen años del futuro.
  • Resumen del noveno comentario:

    • Menciona que el título es algo misterioso y que esperaba contenido sobre números como 16, 256 y 65536.
    • Expresa escepticismo ante la afirmación de que en 2030 enviar 1K bytes por una red de gigabits será más rápido que un fallo de predicción de bifurcación dentro de la CPU.