Zapis macierzy - do tablicy jedno- czy dwuwymiarowej?

0

Witam,
mam pytanie dotyczące deklarowania tablicy na macierz. Czy zapis macierzy w postaci tablicy jednowymiarowej zamiast dwuwymiarowej ma wpływ na szybkość wykonywanych operacji? Jeśli tak - dlaczego :)

Przykład

my_type **M1;
M1 = new my_type*[size];
        for (int i=0; i<size; i++)
        {
            M1[i]=new my_type[size];
        }
my_type *M2;
M2=new my_type*[size*size]; 
0

Trochę ma ze względu na cache. Zauważ że w przypadku 1 tworzysz tak na prawdę n osobnych tablic które mogą być rozrzucone w pamięci. W przypadku 2 masz wszystko w jednym miejscu więc jest większa szansa że uda się wykorzystać cache procesora w trakcie przetwarzania danych z tej tablicy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1