Cómo mejorar la utilización de la CPU en Python
El módulo multiprocesamiento incorporado. La clase multiprocessing.Pool proporciona vectorización en múltiples CPU usando mapas y métodos relacionados, pero aquí hay una compensación si se deben pasar grandes cantidades de datos entre procesos, entonces esta sobrecarga puede anular las ventajas de múltiples núcleos. Utilice la versión numpy adecuada. Si numpy se construye utilizando la biblioteca ATLAS de subprocesos múltiples, será más rápido cuando encuentre grandes problemas. Utilice módulos de extensión como numexpr, paralelopython, corepy o CopenhagenVectorByteCode. Tenga en cuenta que el módulo de subprocesos no es muy útil en este sentido. Para simplificar la administración de la memoria, Global Interpreter Lock ("GIL") exige que solo un subproceso pueda ejecutar el código de bytes de Python a la vez. Sin embargo, los módulos externos como numpy pueden ejecutar múltiples subprocesos. se utiliza internamente.
La unidad central de procesamiento (CPU) es uno de los dispositivos principales de una computadora electrónica y un accesorio central de la computadora. Su función es principalmente interpretar instrucciones de computadora y procesar datos en software de computadora. Para todas las operaciones en la computadora, la CPU es responsable de leer las instrucciones, decodificarlas y ejecutar los componentes principales de las instrucciones.
Un programa es una secuencia de instrucciones. Ejecutar un programa es ejecutar las instrucciones una por una según la secuencia de instrucciones. Una vez que el programa se carga en la memoria principal, la CPU puede completar automáticamente la tarea de recuperar instrucciones de la memoria principal y ejecutarlas.