因为数据访问本身是按字节来移动访问指针,如果对齐了,数据直接读出,没有对齐,则数据还需要和前后数据拼接,再截取(写入时就是填充)合适的部分,增加的数据处理过程,当然影响效率。
比如如果是8bit数据,对齐后,每次读写直接是一个字节8bit,很快处理,如果没有对齐,假如是错位4bit,则每次读取要连续读取2个字节,从前一个字节取后面4bit,从后一字节取前面4bit,拼成一个8bit数据,你想这样麻烦不,而且这是对每次数据都要这样处理,当然效率下降很快啊。
因为内存/硬盘寻址是按照特点长度进行的,比如双字/四字。
对其后可以直接取出整块数据使用,没对齐就要先取出整块,在内部再找。
写入就更费劲了