Я читал здесь, в SO, что Hashtable и Dictionary в значительной степени одинаковы, за исключением преимуществ, связанных с отсутствием блокировки / распаковки.
Используя Ants Profiler, я измеряю очень простое приложение со следующими структурами:
class Node
{
Dictionary<string, Node> Children = new Dictionary<string, Node>();
}
и
class NodeOld
{
Hashtable Children = new Hashtable();
}
Хорошо, список из 1,5 миллионов экземпляров первого занимает около 140 МБ, а второму требуется более 700 МБ (64-битная система).
Итак, есть огромная разница в реализации, не так ли?
Ants Profiler представляет огромное количество объектов Hashtable + Bucket на примере большого размера ...
Итак, есть ли эквивалентная (экономная память) опция для словарей, если вы придерживаетесь 1.1?