Можно ли создавать экземпляры многих недолговечных Dictionary или лучше использовать пул объектов?C#

Место общения программистов C#
Anonymous
Можно ли создавать экземпляры многих недолговечных Dictionary или лучше использовать пул объектов?

Сообщение Anonymous »

У меня есть метод, который считывает некоторые значения из БД, а затем возвращает словарь — это может быть много тысяч раз.

Код: Выделить всё

public IEnumerable GetValues()
{
var results = new Dictionary();
// ... fill data from data reader

yield return results;
}
Потребитель этого метода только перебирает результат и использует словарь для чтения.
Итак... что касается сборки мусора и непрерывности памяти: Имеет ли смысл сделать что-то подобное?

Код: Выделить всё

private Dictionary _resultHolder = new Dictionary();

public IEnumerable GetValues()
{
// Don't want the previous record values, so clear
_resultHolder.Clear();
// ... fill data from data reader

yield return _resultHolder;
}
Насколько я помню, существуют разные уровни сборщика мусора... Так что этот результат в любом случае попадет только на уровень 0 и, следовательно, не вызовет никаких проблем в что касается фрагментации памяти?
Будет ли такое объединение объектов в пул преждевременной оптимизацией?

Подробнее здесь: https://stackoverflow.com/questions/604 ... r-better-t

Вернуться в «C#»