Как выполнять CPU-bound работу, не блокируя event loop, и масштабироваться по ядрам?
Не гоняйте CPU в asyncio: выносите в ProcessPoolExecutor/multiprocessing или нативные модули, которые освобождают GIL. Для кратких задач — loop.run_in_executor, для долгих — отдельные процессы с пулом и ограничением конкуренции. Учитывайте стоимость сериализации: пакуйте данные в memoryview/shared memory, а не в гигантские pickles.
Библиотека собеса по Python
Post #1119
1.1K
- 👍 3