Re[63]: паттерны использования памяти
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.05.20 15:35
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Вы это откуда можете знать, если инлайн метода вполне может поменять паттерн использования памяти?

Либо я чего-то не понимаю, либо в дотнете такого быть не может. Профиль стека в нашем контексте неважен — во-первых, потому что у нас нет рекурсий, во-вторых, потому что у нас типичная глубина стека незначительна. Это ж же джавовский спринг с его километровыми стектрейсами
А профиль использования динамической памяти от инлайна никак не меняется. У нас более-менее те же объекты конструируются более-менее в те же моменты.
На поведение памяти в дотнете влияет время удержания ссылки — т.е. для того, чтобы затянуть время жизни объекта, надо ссылку на него сохранить в каком-то долгоживущем объекте. То есть — поменять логику кода, а не его структуру. Инлайн на такое неспособен.

Есть некоторый нюанс с заменой foreach на linq — там можно внезапно увеличить количество выделений на ровном месте, и, скажем, спровоцировать более частую сборку нулевого поколения.
Опять же — нам нагрузка на garbage collector непринципиальна, мы ж не видеоигра, где рулит плавность FPS. На общее потребление Gen0 не влияет.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.