The OpenNET Project / Index page

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



"В Python 3.14.5 из-за утечек памяти возвращён старый сборщик мусора"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"В Python 3.14.5 из-за утечек памяти возвращён старый сборщик мусора"  +/
Сообщение от opennews (?), 14-Май-26, 09:44 
Опубликован корректирующий выпуск языка программирования Python 3.14.5, в котором помимо исправления ошибок и незначительных уязвимостей, осуществлён возврат на старый сборщик мусора, применявшийся до ветки 3.14.x. В качестве причин внесения нетипичного для промежуточных выпусков значительного изменения называются жалобы пользователей на существенное повышение потребления памяти после перевода рабочих систем на ветку 3.14 и появление утечек памяти...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=65445

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Ананоним (?), 14-Май-26, 09:44   +/
А я то думал отчего у меня процессы разрастаются как раковые опухоли? А они и были раковыми опухолями!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8, #40

2. Сообщение от manchelsi (ok), 14-Май-26, 09:46   +2 +/
Забавно будет, если из за утечек в Python 3.15.0 будет возвращен Python 2.7.18
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6, #16

4. Сообщение от Аноним (4), 14-Май-26, 09:49   –3 +/
Представляете, каким бы мог быть мир, если бы lua был популярнее python?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11, #13, #37

6. Сообщение от Жироватт (ok), 14-Май-26, 10:05   –1 +/
Эх, мечты.
Но в арче, кстати, на днях прилетел минорный апдейт на 2.7
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #12

8. Сообщение от Жироватт (ok), 14-Май-26, 10:05   +2 +/
Потому, что процессы на питоне?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #10

9. Сообщение от Аноним (10), 14-Май-26, 10:11   +2 +/
Повайбкодили называется.
Ответить | Правка | Наверх | Cообщить модератору

10. Сообщение от Аноним (10), 14-Май-26, 10:12   –1 +/
Расскажи как у тебя ничего не течет на Раст, потому что там сборщика нет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #14, #21

11. Сообщение от Аноним (21), 14-Май-26, 10:21   +3 +/
Зачем менять один динамически типизированный мусор на другой?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

12. Сообщение от Аноним (12), 14-Май-26, 10:25   +/
> Эх, мечты.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #15, #29

13. Сообщение от Аноним (13), 14-Май-26, 10:28   +1 +/
Сам-то писать на Lua пробовал? Может быть он и простой, для реализации, но писать на нём -- удовольствие ниже среднего.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

14. Сообщение от Жироватт (ok), 14-Май-26, 10:30   +10 +/
И правда - не течет. Но только потому, что я им не пользуюсь
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

15. Сообщение от Аноним (15), 14-Май-26, 10:32   +/
лютое садомазо с кодировками, например
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #38

16. Сообщение от Colorado_House_of_Representatives (?), 14-Май-26, 10:37   +/
И где здесь забава? Нет, очевидно, не будет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

17. Сообщение от Аноним (17), 14-Май-26, 10:56    Скрыто ботом-модератором+1 +/
Ответить | Правка | Наверх | Cообщить модератору

18. Сообщение от Аноним (17), 14-Май-26, 10:59    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20, #22, #41

19. Сообщение от anonymous (??), 14-Май-26, 11:10   +4 +/
Необразованная толпа она такая. Обвиняет джаву в том, что та ест слишком много памяти. Приводят в пример го и питон. Мол у них сборщик мусора меньше жрёт и проще устроен.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #24, #27, #32, #46, #51

20. Сообщение от Аноним (21), 14-Май-26, 11:11   +/
>На фоне безобразного пестона поражает тynость кодера, который решил забацать Mercurial на этом отстое. Была бы отличная система даже если её писать на С++

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

21. Сообщение от Аноним (21), 14-Май-26, 11:12   –2 +/
Для того, чтобы память не текла, нужны как минимум линейные типы, а в ржавчине их нет. Позор ржавчине!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #54

22. Сообщение от Аноним (22), 14-Май-26, 11:16   –1 +/
То ли дело git, который на половину на баше с перлом вот прям сейчас, в самой современной версии, со всеми доступными разработчикам ресурсами. Оставшаяся половина на сишке.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

24. Сообщение от Вася Пупкин (?), 14-Май-26, 11:21   +/
Все верно, в жабовый гц вбуханы миллионы денег. Но в те времена и условия были другие. Сейчас на питонах очень активизировался ml-скоуп задач которые приходится оптимизировать под потребление памяти в большинстве случаев. Нет единого универсального правильного гц под все случае. Не исключу, что в питоне его можно будет выбирать на старте
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #28

26. Сообщение от Аноним (28), 14-Май-26, 11:58   +/
В убунте лтс Python 3.14.4, его будут обновлять?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #33

27. Сообщение от Аноним (21), 14-Май-26, 12:00   +/
>Обвиняет джаву в том, что та ест слишком много памяти.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #48

28. Сообщение от Аноним (28), 14-Май-26, 12:01   +/
> на питонах очень активизировался ml-скоуп задач

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #39, #42

29. Сообщение от Zulu (?), 14-Май-26, 12:06   +/
Ничего.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

30. Сообщение от Аноним (30), 14-Май-26, 12:21   +/
> цикличный сборщик мусора был заменён на инкрементальный, в котором сборка мусора долгоживущих объектов выполняется по частям и реже, чем обработка новых поколений объектов, которые обычно освобождаются чаще

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #35

31. Сообщение от Аноним (-), 14-Май-26, 12:24   +1 +/
> значительного изменения называются жалобы пользователей на существенное
> повышение потребления памяти

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

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #34, #36, #44

32. Сообщение от Аноним (39), 14-Май-26, 12:28   –1 +/
Spidermonkey оперативно догнал и обогнал v8. Просто потому, что в r&d ему не надо вбухивать. А жава всё так же останавливает мир на подумать, у жс такой проблемы не видно и производительность сравнимая.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #55

33. Сообщение от Аноним (39), 14-Май-26, 12:29   +/
Ты знал, на что подписался.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

34. Сообщение от Аноним (39), 14-Май-26, 12:32   +/
Ты пытаешься сарказмировать, но городишь чушь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

35. Сообщение от Аноним (30), 14-Май-26, 12:34   +/
Прочитал оригинал. Если я правильно понял, то старый сборщик - generational stop-the-world с большим количеством поколений, а новый - generational incremental, но количество поколений уменьшили до 2 (старые и новые)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

36. Сообщение от Аноним (36), 14-Май-26, 12:41   +/
Древний крап можно было перевести на какой-нибудь более подходящий язык.  
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

37. Сообщение от Bottle (?), 14-Май-26, 12:58   +/
Ну так Луа популярен - правда, в качестве скриптов для видеоигр. Свою нишу он занял.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

38. Сообщение от Аноним (12), 14-Май-26, 12:59   +/
Не, это я помню.
Я про хорошее спрашивал...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

39. Сообщение от Аноним (39), 14-Май-26, 13:04   +/
По факту всё питоне кроме собственно вычислений.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

40. Сообщение от kai3341 (ok), 14-Май-26, 13:04   +/
> А я то думал отчего у меня процессы разрастаются как раковые опухоли? А они и были раковыми опухолями!

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #43

41. Сообщение от Аноним (12), 14-Май-26, 13:05   +/
> Была бы отличная система

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

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

Приступай.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

42. Сообщение от Bottle (?), 14-Май-26, 13:10   +/
И тем не менее, любой интероп между языками это накладные расходы; куча "питоновских" библиотек это смесь из Фортрана и C++, которые общаются через C ABI с Python.
Задачи машинного обучения очень ресурсозатратны, обучение нейросетей займёт полмесяца на кластере из машин. Любой выигрыш в производительности выгоден.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

43. Сообщение от Ананоним (?), 14-Май-26, 13:13   +/
>> А я то думал отчего у меня процессы разрастаются как раковые опухоли? А они и были раковыми опухолями!
> не расскажешь, откуда у тебя в дистре 3.14 по дефолту?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #57

44. Сообщение от Аноним (12), 14-Май-26, 13:16   –1 +/
> совместим между версиями
> с питона 2 на 3

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

46. Сообщение от Аноним (12), 14-Май-26, 13:20   +1 +/
> осознают что не всё так просто и уважения к чужому труду прибавится

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

48. Сообщение от Аноним (48), 14-Май-26, 13:28   +/
Да, ZGC сборщик мусора это точно умеет, можно конфигом настраивать периодичность возвращения.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

49. Сообщение от 12yoexpert (ok), 14-Май-26, 13:31   +/
я не совсем понимаю: утечки - это ведь фишка джавы и питона
Ответить | Правка | Наверх | Cообщить модератору

51. Сообщение от 12yoexpert (ok), 14-Май-26, 13:38   +/
к этим жалким оправданиям зашло бы ещё "джава - это всего лишь инструмент"

хоть байткодь, хоть не байткодь - всё равно получишь тормозной жрущий скриптовый язык

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

52. Сообщение от Ананоним (?), 14-Май-26, 13:38   +/
Чего только не напридумывают, чтобы не писать на C/C++ ручное управление памятью :D
Ответить | Правка | Наверх | Cообщить модератору

54. Сообщение от Аноним (54), 14-Май-26, 13:41   +/
боровчекер есть
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

55. Сообщение от Аноним (48), 14-Май-26, 13:57   +/
У spidermokey тоже есть STW - это раз. Два - jvm уже лет 10 как делает короткие паузы при инкрементальной сборке.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

56. Сообщение от Аноним (56), 14-Май-26, 13:58   +/
Помнится, в Python 2 тоже были проблемы со сборкой мусора.
Ответить | Правка | Наверх | Cообщить модератору

57. Сообщение от kai3341 (ok), 14-Май-26, 14:01   +/
> Проверь репозиторий ArchLinux.

А, тут другой разговор. Согласно https://archlinux.org/packages/core/x86_64/python/ пакет был обновлён более часа назад. За это время истинный арчевод мог бы уже дважды обновиться и всё проверить

А если серьёзно, то на картинке профиль не обычного приложения, а специального бенчмарка, созданного для демонстрации проблемы с новым GC (который быстрее старого). Я не верю, что на реальных приложениях всё было настолько драматично (хотя я точно не знаю. В Debian по дефолту 3.13.5)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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