¿Qué tipo de problemas (si los hay) serían la combinación de asyncio con multiprocesamiento?

Como casi todo el mundo es consciente de la primera vez que observan el subprocesamiento en Python, existe la GIL que hace que la vida sea miserable para las personas que realmente quieren procesar en paralelo, o al menos darle una oportunidad.

Actualmente estoy buscando implementar algo como el patrón de Reactor. Efectivamente, quiero escuchar las conexiones de socket entrantes en un hilo, y cuando alguien intenta conectarse, acepte esa conexión y pásela a otro hilo para su procesamiento.

No estoy (todavía) seguro de qué tipo de carga podría estar enfrentando. Sé que actualmente hay un límite de 2MB en los mensajes entrantes. Teóricamente podríamos obtener miles por segundo (aunque no sé si prácticamente hemos visto algo así). La cantidad de tiempo empleado en procesar un mensaje no esterriblemente Importante, aunque obviamente más rápido sería mejor.

Estaba buscando en el patrón de Reactor, y desarrollé un pequeño ejemplo usando elmultiprocessing biblioteca que (al menos en las pruebas) parece funcionar bien. Sin embargo, ahora / pronto tendremos elasyncio biblioteca disponible, que manejaría el bucle de eventos para mí.

¿Hay algo que pueda morderme combinandoasyncio ymultiprocessing?

Respuestas a la pregunta(3)

Su respuesta a la pregunta