W poprzednim wpisie obiecywałem, porównać wydajność kolekcji immutable z klasycznymi typami z System.Collections.Generic. W dzisiejszym benchmarku, porównamy zarówno zużycie pamięci, jak i czas potrzebny na dodanie węzłów. Zacznijmy od klasycznych (zmiennych) typów:var list =new List
Kolekcje z System.Collections.Generic są wszystkim dobrze znane. Czasami jednak zachodzi potrzeba skorzystania z typów immutable. Ogólnie o tych obiektach pisałem tutaj. Szczególnie w środowisku wielowątkowym są one przydatne. Jak można przeczytać we wspomnianym poście, obiekty takie nigdy nie mogą zostać zmienione a modyfikowanie stanu polega na tworzeniu nowej instancji. Ktoś mógłby zasugerować, że mamy w końcu ReadOnlyCollection. Niestety, interfejs uniemożliwia modyfikacje tej kolekcji wyłącznie ...