Buscar
Social
Ofertas laborales ES
« JUG Usuarios Bogota: charlas sobre Scala, integración continua y TDD | Main | Más videos del Spring I/O 2012 »
miércoles
jun132012

Datos de latencia que todo programador debería conocer

En Dzone han publicado un conjunto de tiempos de acceso a información almacenada en distintos sitios (una caché L1 y L2, la memoria RAM, un disco duro, un disco duro de estado sólido, la red…), junto con un pequeño gráfico resumiendo los datos. Se trata de una información bastante interesante para cualquier desarrollador. Aquí teneis los datos de latencia:

    L1 cache reference ......................... 0.5 ns
    Branch mispredict ............................ 5 ns
    L2 cache reference ........................... 7 ns
    Mutex lock/unlock ........................... 25 ns
    Main memory reference ...................... 100 ns
    Compress 1K bytes with Zippy ............. 3,000 ns = 3 µs
    Send 2K bytes over 1 Gbps network ....... 20,000 ns = 20 µs
    SSD random read ........................ 150,000 ns = 150 µs
    Read 1 MB sequentially from memory ..... 250,000 ns = 250 µs
    Round trip within same datacenter ...... 500,000 ns = 0.5 ms
    Read 1 MB sequentially from SSD* ..... 1,000,000 ns = 1 ms
    Disk seek ........................... 10,000,000 ns = 10 ms
    Read 1 MB sequentially from disk .... 20,000,000 ns = 20 ms
    Send packet CA->Netherlands->CA .... 150,000,000 ns = 150 ms

Y aquí tenéis una representación visual de estos datos:

 

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>