Как сравнить multiprocessing vs threading по производительности?

Senior
313 просмотров
AFK Offer AI

Threading: GIL ограничивает — один поток исполняет bytecode. Хорош для I/O-bound: сетевые запросы, файлы. Для CPU-bound — бесполезен (даже медленнее из-за переключения). Multiprocessing: отдельные процессы, без GIL. Хорош для CPU-bound: вычисления, обработка данных. Overhead: создание процесса дороже потока, IPC через pickle (медленно для больших данных). Benchmark: CPU-bound (sort 1M) — multiprocessing 3x быстрее на 4 cores, threading без ускорения. I/O-bound (100 HTTP requests) — threading и asyncio одинаково быстры, multiprocessing — overhead. Asyncio: ещё легче для I/O.

Следующий вопрос

Как работать с JWT в Python?