9 puntos por xguru 2021-02-13 | 1 comentarios | Compartir por WhatsApp
  • Tiempo de cambio de contexto: tarea async 0.2µs vs hilo del kernel 1.7µs

→ Si el cambio ocurre por I/O, esta diferencia de tiempo desaparece (ambos 1.7µs)

→ Si la versión con hilos se limita a usar solo un núcleo, la ventaja del modelo asíncrono también desaparece (quedan casi iguales)

  • Creación de nuevas tareas: tarea asíncrona ~0.3µs vs hilo del kernel 17µs

  • Uso de memoria: tarea asíncrona unos cientos de bytes vs hilo del kernel 20KiB (9.5KiB usuario, 10KiB kernel)

→ Esto se basa en tareas que casi no hacen nada; en funcionamiento real se necesita más

  • Es fácil crear 250 mil tareas asíncronas, pero en una laptop de 4 núcleos/32GiB, el máximo es 80 mil hilos

1 comentarios

 
xguru 2021-02-13

No se trata solo de decir que lo asíncrono es mucho mejor en rendimiento/eficiencia; este benchmark se hizo para hablar del tema entendiendo un poco lo que hay por dentro.

En realidad, el desarrollo asíncrono también tiene muchos bugs y puntos más difíciles, así que hay que tener cuidado.