В программе C#
у меня есть два элемента Queues
элементов longs
, 26M
и четыре элемента HashSets
элементов longs
, 50M
. Таким образом, мои контейнеры хранят 75M
longs
, который дает 600MB
данных. Использование памяти программы 3GB
.
Почему эти контейнеры нуждаются в такой большой памяти? Что такое сложность памяти HashSet
? Даже если все структуры удваивают свою способность, он даст 1.2GB
, а не 3GB
.
EDIT:
Да, я не имел в виду сложность. Сколько памяти HashSet
нужно сохранить long
? Простая двоичная куча не нуждается в дополнительной памяти. Есть ли альтернатива для HashSet
, если мне нужно снизить использование памяти или мне нужно реализовать ее самостоятельно?