Python 3.14 и 3.15 откатывают инкрементальный GC: когда сборщик мусора решил собрать нервы разработчиков

Разработчики Python решили, что инкрементальный сборщик мусора — это как Wi-Fi у бабушки: то работает, то нет, и откатили его в 3.14 и 3.15.
В мире Python грядут перемены, и нет, это не очередной фреймворк для асинхронного всего. Команда разработчиков CPython приняла волевое решение: откатить инкрементальный сборщик мусора (GC) в версиях 3.14 и 3.15.
Если вы когда-нибудь пытались деплоить в пятницу вечером и ловили segmentation fault, вы поймёте. Инкрементальный GC, который должен был ускорить сборку мусора, на деле оказался тем самым «улучшением», которое ломает всё вокруг. Как сборка IKEA без инструкции: вроде детали красивые, а стул шатается.
Что пошло не так?
По словам разработчиков, инкрементальный GC в Python 3.14 и 3.15 вызывал нестабильность и регрессии производительности, особенно в многопоточных приложениях. Вместо того чтобы починить, решили откатить до старого доброго поколенческого GC. Конечно, можно было бы оставить и надеяться на лучшее, но это не про Python — тут любят стабильность, даже если она скучная.
Разработчики, которые уже успели привыкнуть к новому GC, наверняка вспомнят старую боль: «А почему у меня в проде всё падает?». Ответ прост: потому что сборщик мусора решил собрать не только объекты, но и ваши нервы.
Что это значит для вас?
Если вы используете Python 3.14 или 3.15, готовьтесь к изменениям. Откат GC может повлиять на производительность приложений, особенно тех, что активно работают с памятью. Но не паникуйте: разработчики обещают, что новый GC вернётся, когда будет готов, а пока — классика.
Комментарий студии METABYTE: Откат GC напоминает нам, что даже в IT иногда лучшее — враг хорошего. Если ваш проект требует стабильности, а не экспериментов, мы поможем настроить окружение так, чтобы сборщик мусора не собирал ваши баги.