так задрачивает память. Профилирование в студии по памяти помощи не дало... Так как не понятно что в этих объктах и почему они столько весят. Что на эту тему почитать есть?..
https://docs.microsoft.com/ru-ru/dotnet/standard/garbage-collection/fundamentals почитайте про поколения сборки мусора, про кучу больших объектов. У вас в коде лишние аллокации памяти (выделения), возможно, лишние копирования или забытые жирные объекты. Рекомендовал бы смотреть в сторону dotMemory
попробуй dotmemory, там наглядней
Ну код не течет. Так что меня больше интересует как найти что аллоцируется и оптимизировать (вернее найти что можно оптимизировать или доказать что текущее - нормально)
Еще это почитай https://habr.com/ru/company/otus/blog/536942/
У меня нету утечек сейчас. Мне количество аллокаций смущает.
используй структуры по возможности
Надо делать снепшоты памяти и сравнивать. Можно прямо через диспетчер задач снимать их и заталкивать в дотмемори. Можно dotTrace профилировать, тоже снепшоты можно делать там
Хуевый совет
Их в асинхронный код особо не позаталкиваешь и на любой чих копировать такое себе
Асинхронный код тут чем мешает?
чем же? если человека интересуют именно частые аллокации
Если использовать там где не надо, то будет дохуя копирования, может и боксинг
Ну асинки в ref не умеет, а большие структуры, которые на классах текут - самостоятельно копировать?
Так это и понятно, я же не советовал все на структуры поменять
А зачем большие структуры вообще делать?
Где можно - использую и unsafe - тоже. Но без фанатизма.
Я ответил, чем мешает асинхронный код структурам. Зачем большие, это к топикстартеру
попробуй еще тут почитать https://blog.maartenballiauw.be/post/2016/10/19/making-net-code-less-allocatey-garbage-collector.html
Ну как минимум, в unsafe
Как минимум - нет. Было 10Гб и 2 минуты на старт, сейчас 20Мб и 2 секунды. Спасибо unsafe. Да и потом... Достаточно было выпилить ООП головного мозга из кода.
И что был за код и что за код стал?
Это потенциальное место для утечки
Там всю память вгоняли в словарь раза 2 или 3. Не так важно.
Ну это да. Если не уметь готовить.
Так проверь
Так я вроде сказал. Общий объем памяти у меня не растет со временем.
В что тогда не так?
Не нравится большое количество аллокаций и деаллокаций.
Ну вообще - да... Но интересно-же ))
Обсуждают сегодня