TGViewer
Хабр Хабр @habr_com · 133K subscribers
Post #69567 13.5K
Что можно сделать с массивом массивов

Классическая задача из игровой симуляции. Нужно отдать фоновым потокам снапшот игрового состояния, чтобы они крутили свою логику, пока основной поток считает тик. Берётся привычный vector>, на нём строится индекс «локация → сущности», и на маленьких данных всё летает. Потом историческая стратегия доживает до середины партии, объекты плодятся, и внезапно снапшот такой структуры на миллионе локаций начинает стоить дороже, чем вся работа, ради которой его затевали.

Скопировать индекс стоит 90 мс, а полезный проход по нему всего 14. То есть работу распараллелили ради 14 миллисекунд и отдали 90 просто за право начать. Стандартные контейнеры тут разоряют на пустом месте, и виноват даже не объём памяти, а то, куда процессор вынужден прыгать за данными.

Посмотрим, как ужать те же данные так, чтобы старт перестал съедать весь выигрыш.
  • 👍 18
  • 🎉 6
  • ❤ 5
  • 😇 3
  • 😁 2
  • 😢 2
  • 😍 2
  • 🤗 2
  • 🔥 1
  • 🫡 1
  • 😡 1
More from @habr_com
  1. Sep 20, 2026Переделка радиоприемника «Электроника 26-01» Советских бытовых приёмников с синтезатором ч…
  2. Sep 20, 2026На чём советские гики учились программировать? Часть вторая В 1984 году аспирантам химфака…
  3. Sep 20, 2026И снова о том, из чего состоит протон Из школьной картинки протон это три кварка, и на низ…
  4. Sep 19, 2026Грязные игры Команда бывших нефтяников решила оставить след в индустрии и собрала топ-даун…
  5. Sep 19, 2026[ХАБРААРХИВ] «Оставайтесь голодными, оставайтесь безрассудными»: анализ речи Стива Джобса…
  6. Sep 19, 2026Есть советы, которые помогают строить карьеру. А есть советы, после которых помогает тольк…
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 →