Python 3.14 garbage collection rigamarole
- Programming
- Developer Tools
- Open Source
- Infrastructure
The post walks through Python 3.14’s attempt to replace its old cyclic garbage collection behavior with an incremental collector. The promised win was dramatically shorter pauses. The failure mode was higher peak memory use, enough to break some real workloads, so the core team reverted the change in 3.14.5. The comments land on a simple conclusion: that is exactly what a mature runtime should do when a released optimization turns into an operational regression. Nobody serious thought lower pauses came for free. The real complaint was that Python exposed users to the tradeoff without a clear control surface for choosing memory versus pause behavior.
If you ship Python in production, treat 3.14 as a compatibility and memory-behavior bump, not a routine point upgrade. Test RSS, object-lifecycle assumptions, and C-extension readiness before rolling it out, especially on memory-constrained services.
- theconsensus.dev
- Discuss on HN