Tengo la siguiente matriz:La determinación del número de bytes utilizados por una variable
byte[][] A = new byte[256][];
Cada elemento de esta matriz hace referencia a otra matriz.
A[n] = new byte[256];
Sin embargo, la mayoría de los elementos hacen referencia a la misma matriz. De hecho, la matriz A solo hace referencia a dos o tres matrices únicas.
¿Hay alguna manera fácil de determinar cuánta memoria usa todo?
también necesita un cheque nulo: (a.Distinct() Donde (AA => aa = null) .sum (aa => aa.Length) * sizeof (byte).!) Dump();. – Rob
@Rob: Gracias, señaló. – Ani
Gracias. (Bonito código, BTW.) Estoy escribiendo un algoritmo de búsqueda de Boyer-Moore y mirando tablas de varias etapas para reducir la cantidad de memoria utilizada para la tabla de cambios y los caracteres Unicode. Está funcionando pero no sé cuánta memoria estoy guardando. También me interesan los bytes utilizados por A además de los arreglos a los que se hace referencia. Supongo que es 4 u 8 bytes por artículo (dependiendo de si la compilación es de 32 o 64 bits). No parece que C# pueda decirme eso. –