Оптимизация общей памяти

Каковы наиболее распространенные оптимизации памяти в csharp, dotnet 2.0. Хотел узнать, есть ли общие вещи, которые люди не могут делать по умолчанию в приложении winform

Асинхронная передача данных с помощью sendBeacon в JavaScript
Асинхронная передача данных с помощью sendBeacon в JavaScript
В современных веб-приложениях отправка данных из JavaScript на стороне клиента на сервер является распространенной задачей. Одним из популярных...
Как подобрать выигрышные акции с помощью анализа и визуализации на Python
Как подобрать выигрышные акции с помощью анализа и визуализации на Python
Отказ от ответственности: Эта статья предназначена только для демонстрации и не должна использоваться в качестве инвестиционного совета.
Принципы ООП в JavaScript
Принципы ООП в JavaScript
Парадигма объектно-ориентированного программирования имеет 4 основных принципа,
Пройдите собеседование по Angular: Общие вопросы и ответы экспертов
Пройдите собеседование по Angular: Общие вопросы и ответы экспертов
Можете ли вы объяснить разницу между ngOnInit и конструктором в Angular?
Laravel с Turbo JS
Laravel с Turbo JS
Turbo - это библиотека JavaScript для упрощения создания быстрых и высокоинтерактивных веб-приложений. Она работает с помощью техники под названием...
Типы ввода HTML: Лучшие практики и советы
Типы ввода HTML: Лучшие практики и советы
HTML, или HyperText Markup Language , является стандартным языком разметки, используемым для создания веб-страниц. Типы ввода HTML - это различные...
4
0
1 443
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий
  • используйте структуры для небольших объектов-оберток, чтобы избежать фрагментации кучи
  • тщательно продумайте время жизни объектов, особенно для больших объектов, чтобы они не попали в LOH, если вы не собираетесь
  • подумайте о распределении внутри цикла
  • убедитесь, что массив с динамическим размером будет разумного размера, иначе проблема будет разбита.

Используйте StringBuilder вместо прямого изменения строки, если вы выполняете много изменений одной и той же строки.

Уплотнение как можно большего количества классов также должно помочь. AFAIK, это один из приемов, который SmartAssembly использует для уменьшения потребления памяти.

Это не для потребления памяти, а скорее для скорости. Запечатанные классы быстрее загружаются и вызываются, поскольку вам не нужно учитывать, что их методы могут быть переопределены.

Omer van Kloeten 14.09.2008 16:48

Возможно, в будущей версии платформы CLR сначала загрузит все классы как запечатанные и исправит их, если позже загрузит производные типы.

kokos 14.09.2008 19:03

Другие вопросы по теме