.NET Core 3.1: comportamiento en la asignación extraño gama

votos
0

En la siguiente prueba cuando el tamaño de la matriz es 100_000 el tiempo de ejecución es de 14 segundos y con un tamaño de 1_000_000 es de 6 segundos.

¿Por qué está sucediendo este comportamiento?

Prueba de la máquina
SO: Windows 10 Pro x64
CPU: 4720HQ
RAM: 16 GB

.NET Core 3.1.101
ServerGarbageCollection: verdadera
ConcurrentGarbageCollection: true

public static void Main(string[] args) 
{
    int numOfIterations = 100_000;
    int arraySize = 100_000;

    var sw = new Stopwatch();
    sw.Start();

    for (int i = 0; i < numOfIterations; ++i)
    {
        Test(arraySize);
    }

    sw.Stop();
    Console.WriteLine(sw.ElapsedMilliseconds);
}

public static void Test(int size)
{
    int[] arr = new int[size];
}
Publicado el 19/03/2020 a las 21:55
fuente por usuario
En otros idiomas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more