字节与短对比Int(以及无符号变化)在C#中?

时间:2011-02-21 10:18:15

标签: c# memory types cpu

有人告诉我,只要内存大小不是一个大问题,使用int而不是字节或短的总是更好,因为它实际上更容易处理一个int(CPU需要做额外的东西来处理字节和短路)。这在C#中是真的吗?

1 个答案:

答案 0 :(得分:6)

它更多地取决于处理器而不是语言。 8-bit微控制器几乎肯定能够比32位int更快地访问8位字符。

意识到这种限制允许算法设计者做出相应的计划:Rijndael赢得AES竞赛的原因之一是因为设计师计划尽可能快地制作8位版本,此外还有关怀关于32位或更大处理器的执行速度。

但对于32位和64位微处理器,数据对齐和批量数据访问至关重要:int访问通常比char访问快 ,并且{对于某些系统,{1}}(64位)可能更快。 (但是32位机器上的64位操作要慢得多,因此当数据实际上在64位中更有意义时,使用64位数据类型最有意义。)