Найти в Дзене

Понимание памяти в Unity | Unite 2025

Понимание памяти в Unity | Unite 2025 https://www.youtube.com/watch?v=0y3erF2tzbI Я в целом люблю все доклады с Unite про память. Это по сути база. Обзор того как работает память. Как грузятся данные в кеш цпу, что такое кешмиссы. Про GC и тому подобное. Случайный доступ к памяти и последовательный по сути объясняется этим же. И чем так круты массивы. Осталось понять базово что такое кешлайн сплиты и вы готовы к концепции DOD (Data Oriented Development). На сколько это нужно в реальном продакшене? Ну во-первых, всегда в жарком споре сказать "какую фигню ты пишешь у тебя тут 2 кешмисса", а во-вторых, что важнее - это нужно там где нужно оптимизировать. У меня есть проекты где идет обработка миллионов операций за вызов функции (алгоритмы на графах, переборы комбинаторики, симуляции физических процессов), и там я думаю как это оптимально уложить в кеш. Потому что когда мне нужно перебрать 1 миллион операций, там с грамотным использованием памяти можно ускориться не на 10%, а в несколько

Понимание памяти в Unity | Unite 2025

https://www.youtube.com/watch?v=0y3erF2tzbI

Я в целом люблю все доклады с Unite про память. Это по сути база. Обзор того как работает память. Как грузятся данные в кеш цпу, что такое кешмиссы. Про GC и тому подобное. Случайный доступ к памяти и последовательный по сути объясняется этим же. И чем так круты массивы. Осталось понять базово что такое кешлайн сплиты и вы готовы к концепции DOD (Data Oriented Development).

На сколько это нужно в реальном продакшене? Ну во-первых, всегда в жарком споре сказать "какую фигню ты пишешь у тебя тут 2 кешмисса", а во-вторых, что важнее - это нужно там где нужно оптимизировать. У меня есть проекты где идет обработка миллионов операций за вызов функции (алгоритмы на графах, переборы комбинаторики, симуляции физических процессов), и там я думаю как это оптимально уложить в кеш. Потому что когда мне нужно перебрать 1 миллион операций, там с грамотным использованием памяти можно ускориться не на 10%, а в несколько раз. Обычно это важно конечно в чем-то финансовом или связанном с математическим моделированием физических процессов, а я всё же фундаментальный информатик как никак. Когда же вы делаете веб-матч-3 и так далее это вопросы которыми реже приходится задаваться, так как это редко бывает таким классом продукта, где так важна оптимизация и экономия на спичках, чтобы трогать unsafe скажем.

Но примеры прикольные, я не знал что в 7 шарпе появилось ключевое слово ref для получения доступа к структуре по ссылке, а не по копии значения. Люблю сопособы выстрелить себе в ногу, ведь понимаешь что если структура была выделена на стеке, то это приведет нас плавно к боксингу, а если изначальная копия лежит где-то в хипе то по идее нет. И пойди проследи чтобы при использовании функции боксинг не возникал. В общем интересная технарская фигня для разработчиков "всех возрастов" так как даже будучи сеньором на мой вкус всю это лабуду можно часто не знать. А ведь знать её стоит. Ну а новичкам в целом стоит учиться понимать то, как работает компуктер на самом деле.

#новости