TGViewer
4gophers 4gophers @gophernews · 3.44K subscribers
Post #1973 1.11K

Forwarded from Код и Капуста

Визуализируем GC

#golang

Статья наглядно исследует новый сборщик мусора Green Tea в Go 1.25/1.26.

Автор пишет визуализатор кучи, показывающий, как Go размещает объекты одного размерного класса рядом друг с другом и сравнивает его с C#. Он отмечает, что в отличие от C#, Go никогда не перемещает их при сборке.

Ключевое улучшение Green Tea в том, что вместо обхода указателей по мере их обнаружения со случайным доступом к памяти, GC теперь сканирует span целиком и сохраняет знания о найденных указателях в очередь на будущее и это подтверждается через perf.

В конуе автор демонстрирует главную слабость неперемещающего GC. После освобождения 90% объектов разряженные страницы не возвращаются системе, потому что выжившие объекты "закрепляют" span'ы. Для сравнения, компактирующий GC в C# справляется с этим автоматически, а в Go приходится вручную копировать выжившие объекты в новые слайсы

https://kodikapusta.ru/news/1147-vizualiziruem-gc

Поддержать проект на boosty: https://boosty.to/kodikapusta
  • 👍 2
More from @gophernews
  1. Sep 28, 2026C на Go #golang Интересный пропозал - добавить возможность сборки Go-пакетов, использующих…
  2. Sep 24, 2026Rune #golang Команда Unstable Build заопенсорсила свою нативную IDE Rune, написанную на Go…
  3. Sep 8, 2026Прокси для базы данных #golang Автор пишет простой такой прокси на Go в учебных целях вдох…
  4. Sep 7, 2026У нас отмена! #golang Статья разбирает, как пакет singleflight в Go предотвращает лавину з…
  5. Sep 3, 2026Конкурентный сервер на Go #golang #learn Это восьмая часть серии о конкурентных сетевых се…
  6. Sep 2, 2026Интересные баги #golang Команда sigma star(хз кто это) нашла и исправила давнюю ошибку в р…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →