大家好、
我在数据对齐速度比较方面绝对不是专家。 但是、从我收集的内容来看、最好在字节或字级(至少在 MSP430中)进行数据对齐、以便可以使用直接汇编命令(例如 MOV.B 和 MOV)。 这样、处理器需要减少工作、从而节省时间。
但是、按字节、字和两者的混合对齐的数据之间是否存在速度差异(如果使用'packed'属性、则可能发生这种情况)。
例如、使用以下两种结构之一时、速度是否存在差异:
struct __attribute__((packed)) structure2 { int id1; char name; int id2; float percentage; char c; } 结构; VS 结构2 { int ID1; char name; int ID2; float percentage; char c; } 结构;
紧凑型的大小为12字节、而非紧凑型的大小为20字节。 不过、我会直观地预期读取打包的数据会更慢、但我不确定是否会出现这种情况、因为汇编器显然也可以读取单个字节。
此致。