The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

В Python 3.14.5 из-за утечек памяти возвращён старый сборщик мусора

14.05.2026 09:35 (MSK)

Опубликован корректирующий выпуск языка программирования Python 3.14.5, в котором помимо исправления ошибок и незначительных уязвимостей, осуществлён возврат на старый сборщик мусора, применявшийся до ветки 3.14.x. В качестве причин внесения нетипичного для промежуточных выпусков значительного изменения называются жалобы пользователей на существенное повышение потребления памяти после перевода рабочих систем на ветку 3.14 и появление утечек памяти.

Помимо отката нового сборщика мусора в ветке 3.14 решено не использовать его в следующем значительном выпуске 3.15, несколько дней назад перешедшем на стадии бета-тестирования. Напомним, что в ветке 3.14 цикличный сборщик мусора был заменён на инкрементальный, в котором сборка мусора долгоживущих объектов выполняется по частям и реже, чем обработка новых поколений объектов, которые обычно освобождаются чаще, что позволило на порядок снизить максимальное время приостановки выполнения приложений с очень большим числом объектов в памяти.



  1. Главная ссылка к новости (https://blog.python.org/2026/0...)
  2. OpenNews: Динамика изменения кодовой базы проекта Python
  3. OpenNews: Прогресс развития JIT в CPython
  4. OpenNews: Компания Anthropic выделила 1.5 млн долларов проекту Python
  5. OpenNews: CPython может сделать Rust обязательной сборочной зависимостью к версии 3.17
  6. OpenNews: Выпуск языка программирования Python 3.14
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65445-python
Ключевые слова: python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (43) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Ананоним (?), 09:44, 14/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А я то думал отчего у меня процессы разрастаются как раковые опухоли? А они и были раковыми опухолями!
     
     
  • 2.8, Жироватт (ok), 10:05, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Потому, что процессы на питоне?
     
     
  • 3.10, Аноним (10), 10:12, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Расскажи как у тебя ничего не течет на Раст, потому что там сборщика нет.
     
     
  • 4.14, Жироватт (ok), 10:30, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +7 +/
    И правда - не течет. Но только потому, что я им не пользуюсь
     
  • 4.21, Аноним (21), 11:12, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для того, чтобы память не текла, нужны как минимум линейные типы, а в ржавчине их нет. Позор ржавчине!
     
  • 2.40, kai3341 (ok), 13:04, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > А я то думал отчего у меня процессы разрастаются как раковые опухоли? А они и были раковыми опухолями!

    не расскажешь, откуда у тебя в дистре 3.14 по дефолту?

     
     
  • 3.43, Ананоним (?), 13:13, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >> А я то думал отчего у меня процессы разрастаются как раковые опухоли? А они и были раковыми опухолями!
    > не расскажешь, откуда у тебя в дистре 3.14 по дефолту?

    Проверь репозиторий ArchLinux.

     

  • 1.2, manchelsi (ok), 09:46, 14/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Забавно будет, если из за утечек в Python 3.15.0 будет возвращен Python 2.7.18
     
     
  • 2.6, Жироватт (ok), 10:05, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Эх, мечты.
    Но в арче, кстати, на днях прилетел минорный апдейт на 2.7
     
     
  • 3.12, Аноним (12), 10:25, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Эх, мечты.

    А что в нём было хорошего, а то я уже не помню...

     
     
  • 4.15, Аноним (15), 10:32, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    лютое садомазо с кодировками, например
     
     
  • 5.38, Аноним (12), 12:59, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не, это я помню.
    Я про хорошее спрашивал...
     
  • 4.29, Zulu (?), 12:06, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего.
     
  • 2.16, Colorado_House_of_Representatives (?), 10:37, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И где здесь забава? Нет, очевидно, не будет.
     

  • 1.4, Аноним (4), 09:49, 14/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Представляете, каким бы мог быть мир, если бы lua был популярнее python?
     
     
  • 2.11, Аноним (21), 10:21, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Зачем менять один динамически типизированный мусор на другой?
     
  • 2.13, Аноним (13), 10:28, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сам-то писать на Lua пробовал? Может быть он и простой, для реализации, но писать на нём -- удовольствие ниже среднего.
     
  • 2.37, Bottle (?), 12:58, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так Луа популярен - правда, в качестве скриптов для видеоигр. Свою нишу он занял.
     

  • 1.9, Аноним (10), 10:11, 14/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Повайбкодили называется.
     
  • 1.17, Аноним (17), 10:56, 14/05/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     
  • 1.18, Аноним (17), 10:59, 14/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На фоне безобразного пестона поражает тynость кодера, который решил забацать Mercurial на этом отстое. Была бы отличная система даже если её писать на С++, но нет - "побырому наг__нокодим и в продакшен!" - это не девиз, за это надо бить ccaными тряпками!
     
     
  • 2.20, Аноним (21), 11:11, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >На фоне безобразного пестона поражает тynость кодера, который решил забацать Mercurial на этом отстое. Была бы отличная система даже если её писать на С++

    В мире существует только два языка: гвидобейсик и кресты. Никаких других языков человечество больше не изобретало. Или нет?

     
  • 2.22, Аноним (22), 11:16, 14/05/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.41, Аноним (12), 13:05, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Была бы отличная система

    Либо же и вовсе не было бы твоего Mercurial.

    > даже если её писать на С++

    Приступай.

    > за это надо бить ccaными тряпками

    Любимое занятие Анонимов Опеннета.

     

  • 1.19, anonymous (??), 11:10, 14/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Необразованная толпа она такая. Обвиняет джаву в том, что та ест слишком много памяти. Приводят в пример го и питон. Мол у них сборщик мусора меньше жрёт и проще устроен.

    Вот только проще - не значит лучше. У джавы долгая история развития сборщиков. Они тоже начинали с простых. Но чем больше требования, тем сложнее сборщик, ну и накладные расходы тоже растут. За каждым новым сборщиком стоит новое и крайне практичное требование. А ещё серьёзная теория computer science почему сборщик должен быть устроен именно так. И несколько лет отладки, чтобы весь этот сложный механизм не лажал.

    И вот наконец-то питонисты сообразили, что текущего примитивного сборщика им мало, нужно больше и эффективнее. И пошли танцевать на граблях, где джава оттанцевала ещё тридцать лет назад. Может осознают что не всё так просто и уважения к чужому труду прибавится.

     
     
  • 2.24, Вася Пупкин (?), 11:21, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Все верно, в жабовый гц вбуханы миллионы денег. Но в те времена и условия были другие. Сейчас на питонах очень активизировался ml-скоуп задач которые приходится оптимизировать под потребление памяти в большинстве случаев. Нет единого универсального правильного гц под все случае. Не исключу, что в питоне его можно будет выбирать на старте
     
     
  • 3.28, Аноним (28), 12:01, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > на питонах очень активизировался ml-скоуп задач

    вроде там все на с/c++/cuda? питон там больше как конфиг на стероидах, чтобы связать все это.

     
     
  • 4.39, Аноним (39), 13:04, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    По факту всё питоне кроме собственно вычислений.
     
  • 4.42, Bottle (?), 13:10, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И тем не менее, любой интероп между языками это накладные расходы; куча "питоновских" библиотек это смесь из Фортрана и C++, которые общаются через C ABI с Python.
    Задачи машинного обучения очень ресурсозатратны, обучение нейросетей займёт полмесяца на кластере из машин. Любой выигрыш в производительности выгоден.
     
  • 2.27, Аноним (21), 12:00, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Обвиняет джаву в том, что та ест слишком много памяти.

    Джава уже научилась возвращать память в систему?

     
  • 2.32, Аноним (39), 12:28, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Spidermonkey оперативно догнал и обогнал v8. Просто потому, что в r&d ему не надо вбухивать. А жава всё так же останавливает мир на подумать, у жс такой проблемы не видно и производительность сравнимая.
     
  • 2.46, Аноним (12), 13:20, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > осознают что не всё так просто и уважения к чужому труду прибавится

    Обиженого успешного интерпрайз разработчика я вижу...

     

  • 1.26, Аноним (28), 11:58, 14/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В убунте лтс Python 3.14.4, его будут обновлять?
     
     
  • 2.33, Аноним (39), 12:29, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ты знал, на что подписался.
     

  • 1.30, Аноним (30), 12:21, 14/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > цикличный сборщик мусора был заменён на инкрементальный, в котором сборка мусора долгоживущих объектов выполняется по частям и реже, чем обработка новых поколений объектов, которые обычно освобождаются чаще

    incremental (то, что вы заявили) и generational (то, что вы описали) - это совершенно перпендикулярные понятия.

    Сборщик мусора может быть:
    - stop-the-world: работа программы останавливается, выполняется цикл сборки, работа продолжается.
    - incremental: работа программы останавливается, выполняется несколько шагов цикла, работа возобновляется, потом снова останавливается, выполняются следующие несколько шагов и т.д.
    - concurrent: цикл работает в отдельном потоке, не останавливая программу.

    Перпендикулярно этому, любой из этих трёх видов может быть:
    - одноранговым: каждый цикл обрабатывает все объекты.
    - generational: циклы делятся на редко выполняемые "полные" и часто выполняемые "минорные", где минорные обрабатывают только недавно появившиеся объекты.

    А вы назвали его incremental, но определение дали от generational.

     
     
  • 2.35, Аноним (30), 12:34, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Прочитал оригинал. Если я правильно понял, то старый сборщик - generational stop-the-world с большим количеством поколений, а новый - generational incremental, но количество поколений уменьшили до 2 (старые и новые)
     

  • 1.31, Аноним (-), 12:24, 14/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > значительного изменения называются жалобы пользователей на существенное
    > повышение потребления памяти

    Питон делает несколько замечательных вещей.

    Во первых он не тормозит. И каждый раз не тормозит все лучше и пушистее.

    Во вторых он не жрет память. Зачем надо такой откат не понятно, не жрал же в два раза лучше.

    В третьих он отлично совместим между версиями. И там никогда не бывает ломающих изменений. Особенно если вы следите за каждым патчем и вовремя апдейтите свой код.

    В четвертых софт на питоне образец качества, стабильности и быстроты. Выберите любые -1.

    В пятых, отличный синтаксис без аннотаций намерений кодера, ломаемый случайно впечатанным отступом помогает сделать код еще качественнее.

    В шестых, по этой причине любой уважающий себя сервис на питоне навернется в рантайме. Чтобы было не скучно отлаживать это случится через месяц "успешной" работы, с трехстраничным трейсом в котором даже после поллитры - черт ногу сломит.

    В седьмых, 90% програмеров на питоне уверенных что круче только яйца может успешно заменить Клод, который еще круче оказался. Поэтому зарплаты питонистам можно уже и не платить.

    Видите какой замечательный язык? А главное - програмеров на нем теперь можно, по сути, не нанимать :). Мне клод за менее чем доллар и полчаса времени отрефакторил древний крап с питона 2 на 3, и даже в отличие от - не стал загибать пальцы про правильные версии питонов, venv и что там еще - и сделал прямо под ту версию которая в проде была. А питонист - даже с биржи - возился бы неделю и слупил бы совсем другие деньги за то же самое...

     
     
  • 2.34, Аноним (39), 12:32, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ты пытаешься сарказмировать, но городишь чушь.
     
  • 2.36, Аноним (36), 12:41, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Древний крап можно было перевести на какой-нибудь более подходящий язык.  
     
  • 2.44, Аноним (12), 13:16, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > совместим между версиями
    > с питона 2 на 3

    Аааа... ясно-понятно...

     

  • 1.47, Аноним (47), 13:21, 14/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зато diversity
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру