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
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.