SORU
27 Mart 2012, Salı


Bu iki döngü için zaman ve önbellek performans açısından daha verimli olur

Hangi kodu aşağıdaki örnekleri önbellek performans açısından daha verimli olur? Neden?

int a[100][100];

for(i=0; i<100; i  )
{
   for(j=0; j<100; j  )
   {
       a[i][j] = 10;    
   }
}

ya

for(i=0; i<100; i  )
{
   for(j=0; j<100; j  )
   {
      a[j][i] = 10;    
   }
}

CEVAP
27 Mart 2012, Salı


İlk yöntem hücrelere atanan yanyana bırakır gibi biraz daha iyi.

İlk yöntem:

[ ][ ][ ][ ][ ] ....
^1st assignment
   ^2nd assignment
[ ][ ][ ][ ][ ] ....
^101st assignment

İkinci yöntem:

[ ][ ][ ][ ][ ] ....
^1st assignment
   ^101st assignment
[ ][ ][ ][ ][ ] ....
^2nd assignment

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • André Frizzo

    André Frizz

    16 Aralık 2006
  • Andrew_Huang

    Andrew_Huang

    10 ŞUBAT 2006
  • pain975

    pain975

    27 NİSAN 2008