że ma następujący układ:Określanie liczby bajtów używanych przez zmienną
byte[][] A = new byte[256][];
Każdy element tej tablicy odwołuje kolejną tablicę.
A[n] = new byte[256];
Jednak większość elementów odnosi się do tej samej tablicy. W rzeczywistości tablica A odwołuje się tylko do dwóch lub trzech unikatowych tablic.
Czy istnieje prosty sposób określenia, ile pamięci wykorzystuje całe urządzenie?
Należy również null Sprawdź (a.Distinct() Gdzie (aa => aa = null) .Sum (aa => aa.Length) * sizeof (bajtów).!) Dump(). – Rob
@Rob: Dzięki, zauważył. – Ani
Dzięki. (Ładny kod, BTW.) Piszę algorytm przeszukiwania Boyera-Moore'a i przyglądam się wielostopniowym tabelom, aby zmniejszyć ilość pamięci używanej do tabeli zmian i znaków Unicode. Działa, ale nie wiem, ile pamięci oszczędzam. Tak więc interesują mnie również bajty używane przez A oprócz przywoływanych tablic. Przypuszczam, że jest to 4 lub 8 bajtów na element (w zależności od tego, czy kompilacja jest 32 czy 64-bitowa). Wygląda na to, że C# nie może mi tego powiedzieć. –