Esto se debe a .NET fue diseñado para funcionar con los procesadores modernos. Que son mucho, mucho más rápido que el bus de memoria. El procesador funciona a alrededor de 2 gigahertz. La RAM en su máquina tiene un reloj de unos cientos de megahercios. Leer un byte de RAM lleva más de cien ciclos de reloj.
Lo que hace que la memoria caché de la CPU sea muy importante en los procesadores modernos, una gran cantidad de propiedades inmobiliarias de chips se quema al hacer las cachés lo más grandes posible. Hoy en día es típico 64 KB para la caché L1, la memoria más rápida y físicamente ubicada muy cerca del núcleo del procesador, 256 KB para la caché L2, más lenta y más alejada del núcleo, alrededor de 8 MB para la caché L3, más lenta y más alejada de distancia, compartida por todos los núcleos en el chip.
Para que las cachés sean efectivas, es muy importante acceder a la memoria secuencialmente. Leer el primer byte puede ser muy costoso si se necesita acceso a memoria L3 o RAM, los siguientes 63 bytes son muy económicos. El tamaño de la "línea de caché", la unidad de transferencia de datos para el bus de memoria.
Esto hace que matriz sea, con mucho, la estructura de datos más efectiva, sus elementos se almacenan secuencialmente en la memoria. Y una lista vinculada de lejos la peor estructura de datos posible, sus elementos se encuentran naturalmente dispersos a través de la memoria, lo que puede ocasionar el costoso error de caché para cada elemento.
En consecuencia, todas las colecciones .NET, excepto LinkedList <> se implementan como matrices internamente. Tenga en cuenta que una Stack <> ya está implementada de forma natural como una matriz, ya que solo puede presionar y mostrar un elemento desde el final de la matriz. Una operación O (1). El tamaño de la matriz se amortiza O (logN).
Otro punto es que la matriz subyacente se utiliza de forma circular, por lo que los elementos de la matriz se reciclan cuando la cabeza y la cola se mueven (si no se exceden los límites). –
3 palabras: gastos generales de administración de memoria. – Mehrdad
@SebastianNegraszus gracias. ¿Cómo encontraste eso? Busqué mucho y no encontré nada. – KooKoo