Petr profile picture

Petr Andreev

Lecturer, course creator, CPython contributions team lead at MIPT, Innopolis

Specializes in CPython internals, optimization, and high-performance computing.
Driven by GPU acceleration, CPU vectorization. Evolved from ML systems to CPython core research engineer. 8+ years leading teams in AI, maths, and physics. PyCon speaker. Lecturer at top universities.
Open to talks and collaboration.

Abstract

CPython Under Load: NoGIL, Green Threads, AsyncIO vs Other Langs: deep-dive and benchmarks

Same Python code can deliver radically different speed. The difference is architecture: how work is scheduled, how data is shared (or isolated), and where contention moves. If you pick the wrong concurrency model, you’ll scale cost — not throughput. This talk __benchmarks CPython’s__ real production options and shows where each one wins: free-threading (no-GIL), sub-interpreters, multiprocessing, asyncio, and green-threads. We’ll build a __benchmarkspractical decision map__ for HighLoad systems, then verify it with live benchmarks on representative workloads: - Monte-Carlo & simulation loops - DataFrame/array-heavy analytics (contention, memory bandwidth, native code) - ML pipeline orchestration (I/O + CPU mix, backpressure) To keep the conclusions honest, we’ll __compare outcomes__ against equivalent patterns in Go / Java / .NET Can Python compete under load? Sometimes yes, if you __choose the right CPython concurrency strategy__. We’ll measure it, not argue about it. __Interactive format__: you’ll guess which charts belong to which model and language, then we reveal the mapping and explain the “why”. __With limited time, we go deep on one path you choose__: after the benchmark reality is on screen, the audience votes for one CPython approach (FT / asyncio + green-threads, sub-interpreters) and we dissect its under-the-hood behavior to explain the observed results.

Long Talk