- Hacer más hilos siempre significa un mejor rendimiento?
- ¿Cómo afectan los hilos el rendimiento??
- ¿Por qué necesitas tener cuidado cuando tienes más de un hilo??
- ¿Qué sucede cuando hay demasiados hilos??
Hacer más hilos siempre significa un mejor rendimiento?
No necesariamente. Lograr un mejor rendimiento en software multiproceso es un ejercicio de cuellos de botella. Cuántos núcleos están disponibles es un posible cuello de botella. Si hay más hilos capaces de ejecutar que los núcleos disponibles para ejecutarlos, más hilos no ayudarán al rendimiento y eventualmente se convertirán en una sobrecarga.
¿Cómo afectan los hilos el rendimiento??
Cada hilo de software requiere memoria virtual para su pila y estructuras de datos privados. Al igual que con los cachés, el corte del tiempo hace que los hilos luchen entre sí por la memoria real y, por lo tanto, perjudican el rendimiento. En casos extremos, puede haber tantos hilos que el programa se ejecuta incluso de memoria virtual.
¿Por qué necesitas tener cuidado cuando tienes más de un hilo??
En resumen, es más probable que la velocidad múltiple ralentice un programa que acelere a menos que se piense en él. Dos CPU pueden ser el doble de rápido en el mejor de los casos, pero pueden ser fácilmente diez veces más lentos si no tiene cuidado.
¿Qué sucede cuando hay demasiados hilos??
En segundo lugar, ejecutar un número excesivo de hilos da como resultado una sobrecarga debido a la forma en que compiten por los recursos de hardware limitados. Es fundamental distinguir entre hardware y hilos de software. Los programas crean hilos, que se denominan "hilos de software."Los hilos en el hardware son recursos físicos reales.