Talk
Python 3.14’s free-threaded build makes it possible for threads to run Python code in parallel - but C and C++ extension modules do not benefit automatically. To see real speedups, extension authors need to opt in explicitly, remove hidden GIL assumptions, and audit shared state carefully.
In this talk, I’ll walk through a real migration of a Python extension that embeds a multi-threaded C++ analytical engine. The engine already had parallel execution internally, but several interactions with Python still serialized execution: calling Python UDFs, accessing DataFrame-backed columns, and handling large numbers of strings.
I’ll show three concrete changes that made free-threading pay off in practice: moving Python UDF execution in-process, declaring the extension module GIL-independent and making its global state thread-safe, and selectively replacing high-level Unicode APIs with lower-level CPython string access on hot paths. Along the way, I’ll discuss what broke, what did not scale as expected, and where the stable ABI stopped being compatible with our performance goals.
You’ll leave with a practical checklist for porting extension modules to free-threaded Python 3.14, a clearer picture of when no-GIL actually helps, and benchmark results from real analytical workloads on a 16-core machine. No ClickHouse knowledge is required - the talk is aimed at Python developers who maintain native extensions, build data tooling, or care about making Python scale across cores.
About the Speaker
I'm Auxten Wang, a database engineer and open source builder based in Singapore.
I created chDB - an embedded ClickHouse engine that lets you run full OLAP SQL anywhere without infrastructure. It started from a simple need: running ClickHouse in Jupyter Notebooks for ML model training instead of waiting on slow Hive clusters. chDB was acquired by ClickHouse Inc. in 2024, and I now work there full-time growing the project and its ecosystem across 7+ language bindings.
Before ClickHouse, I was Principal Engineer at Shopee, Cofounder & CTO of CovenantSQL (decentralized BFT database, 1,500+ stars), and RecSys & Infra Director at 4Paradigm. Earlier in my career, I was Technical Director at eLong, built cluster control for 30,000 servers at Qihoo 360, and created Gingko - Baidu's P2P dataset distribution system - writing 90% of the C++ code. Started my journey as an intern at Douban in 2009.
Lately, I've been exploring the intersection of databases and AI agents - building memory systems, RAG pipelines, and MCP integrations powered by ClickHouse.