Myslim, ze adresy zarovnane na 4bajty se adresuji rychleji nez kdyz jsou ruzne pohazene po pameti. Na druhou stranu .net je docela velky pametozrout, takze se tomuhle ani nedivim. Navic pameti byva dost a spis jde o tu rychlost. Pro narocne aplikace je tu nativni kod. Jinak to, ze byte zabira jen 1b neni pravda, dalsi 3b za (nebo pred, podle toho jak se na to divate:) ) tim bytem byvaji prave kvuli tomuhle zarovnani nepouzite. Mala ukazka z .netu 3.5:
static void Main(string[] args)
{
byte a = 1, b = 2, c = 3;
Console.WriteLine("",a,b,c);
}
A vypis pameti:
0x04BDE8D0 00 00 00 00 00 00 00 00 03 00 00 00 02 00 00 00
0x04BDE8E0 01 00 00 00 28 37 52 01 df 80 e8 79 36 08 38 00
Je zcela evidentni, ze i kdyz byte hlasi, ze zere jen 1b, tak ve skutecnosti zabere cele 4.
|