TGViewer
Go in Action Go in Action @go_in_action · 4.11K subscribers
Post #4693 1.72K
Black-White Array: новая структура данных с O(log N) аллокаций

Black-White Array (BWA) — это упорядоченная структура данных с амортизированным временем операций вставки/поиска/удаления и используемых участков памяти. Преимущества:

• Амортизированное время вставки/удаления/поиска сравнимое с реализацией BTree от Google;
• Низкое количество аллокаций памяти при операциях вставки - меньше давления на сборщик мусора, ниже фрагментация памяти;
• Массивы под капотом: данные лежат рядом, что улучшает кэшируемость процессором и скорость обхода/доступа к данным;
• Позволяет хранить элементы с одинаковыми ключами - не нужно использовать дополнительные структуры для группировки таких элементов;
• Низкий оверхед на хранение служебной информации - экономия памяти по сравнению с другими структурами данных;
• Удобен для вставки батчами;
• Простая сериализация и десериализация;
Подробности

Читать: https://habr.com/ru/articles/984184/

#ru

@go_in_action | Другие наши каналы
  • 👍 3
More from @go_in_action
  1. Sep 16, 2026Разница между Go-разработчиком с зарплатой в 100–200 тысяч и 500 тысяч не в количестве нап…
  2. Mar 31, 2026Улучшаем Dockerfile: от примитивной базы к multi-stage-решению Dockerfile можно составить…
  3. Mar 30, 2026Полнотекстовый поиск на Go без Elasticsearch: Bleve как альтернатива Когда в проекте возни…
  4. Mar 5, 2026Победителями премии Тпрогер 🐀становятся... Здесь играет барабанная дробь и интригующая му…
  5. Jan 27, 2026Я решил написать ухудшенный UUID по ничтожнейшим из причин Вчера я баловался с проектом AP…
  6. Jan 27, 2026Go рухнул с 7 на 16 место в TIOBE: пора ли российским компаниям пересмотреть технологическ…
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 →