Hacker News Digest

Тег: #reference-counting

Постов: 2

Garbage collection is useful (dubroy.com)

Автор, имеющий опыт работы с сборкой мусора в J9 Java VM, применяет эти знания для решения проблемы инкрементального парсинга текста. Он работает с командой, использующей Ohm для парсинга документов и ProseMirror для отображения форматированного текста с двунаправленными обновлениями. Изначально реализованное решение отслеживало все узлы после каждого редактирования, что противоречило принципу инкрементальности для больших документов с небольшими изменениями.

Решение пришло из статьи "A Unified Theory of Garbage Collection", которая показала, что трассировка и подсчёт ссылок по сути являются дуальными подходами - один работает с живыми объектами ("материя"), другой с мёртвыми ("антиматерия"). Автор внедрил подсчёт ссылок для узлов документа, позволяющий эффективно находить только те узлы, которые не были повторно использованы после редактирования, без необходимости посещения большинства узлов в документе.

by surprisetalk • 16 ноября 2025 г. в 13:25 • 153 points

ОригиналHN

#java#garbage-collection#reference-counting#tracing-garbage-collection#incremental-parsing#prosemirror#ohm

Комментарии (54)

  • Симметрия и асимметрия: от цитаты Перлиса к тому, что подсистемы, которые мы используем, не всегда отражают симметрию более низкого уровня, и как это влияет на проектирование.
  • Обсуждение методов управления памятью: отсутствие циклов в счетчиках ссылок, трассировка только мертвых объектов в счетчике ссылок, и как эти факторы влияют на выбор между счетчиком ссылок и трассирующим сборщиком мусора.
  • Практический вывод: когда и почему может быть предпочтительным счетчик ссылок, включая влияние на производительность и сложность реализации.
  • Какие компромиссы между этими двумя подходами могут быть сделаны, и какие факторы (например, циклы, которые не могут быть обработаны счетчиком ссылок) делают трассирующий сборщик мусора необходимым.

Garbage collection for Rust: The finalizer frontier (soft-dev.org)

включ) 3. При (0) в 0. (0 и 0 в 0. Ты в ко 0. (0) и не и (0) сок в

by ltratt • 15 октября 2025 г. в 12:08 • 123 points

ОригиналHN

#rust#garbage-collection#memory-management#reference-counting#ownership

Комментарии (127)

  • Обсуждение в основном вращается вокруг вопроса, действительно ли Rust нуждается в сборщике мусора, и если да, то какой именно: консервативный, точный или же просто счетчик ссылок.
  • Участники спора подчеркивают, что Rust уже имеет встроенные механизмы управления памятью, включая владение, заимствование и счетчик ссылок, что ставит под сомнение необходимость сборщика мусора.
  • Некоторые участники высказывают мнение, что встроенный в Rust счетчик ссылок может быть достаточен для большинства случаев использования, и что добавление сборщика мусора может быть излишним.
  • Другие участники подчеркивают, что даже если сборщик мусора и будет добавлен в Rust, он будет опциональным и не будет влиять на существующие программы, которые не нуждаются в нем.