Производительность получения предмета из Dictionary
очень мало зависит от количества предметов. Элементы делятся на сегменты в соответствии с их хэш-кодом, поэтому обычно в каждом сегменте содержится только один или очень мало элементов. Операция близка к операции O (1).
Добавление элементов также близко к операции O (1). Если необходимо увеличить емкость, вы получите снижение производительности, но в среднем это очень мало. Поскольку емкость удваивается каждый раз, объем данных, перемещаемых при увеличении емкости, действительно не так уж и велик. Данные в среднем перемещаются в 1,3 раза больше, поэтому средняя дополнительная работа для каждого добавления сводится к перемещению около 16 байтов.
Если вы знаете, насколько большим станет Dictionary
, или просто имеете приличную оценку, вы должны использовать ее при создании, чтобы уменьшить или устранить необходимость увеличения емкости.