“char”和“small int”比“int”慢吗?

时间:2011-03-18 01:15:28

标签: c++ c compiler-construction processor

  

可能重复:
  Performance of built-in types : char vs short vs int vs. float vs. double

您好。假设您拥有 32位处理器。 8位char和16位short int类型是否比原生32位int慢? 那么使用64位long long int

默认情况下硬件是否支持这种数据类型,或者通过使用其他指令将它们全部转换为32位数据?

如果我必须存储少量字符,将它们存储为整数是不是更快?

2 个答案:

答案 0 :(得分:4)

在任何现代实用的机器上,charintlong都会很快(可能同样快)。 short是否快速在cpu体系结构与单个体系结构中的不同cpu模型之间有所不同。

话虽如此,无论速度如何,单个变量都使用小型是没有充分理由的。他们的语义令人困惑(由于int的默认促销),他们不会为你节省大量空间(甚至可能没有任何空间)。我唯一一次使用charshortint8_tint16_t等等的数组或结构必须与您所在的固定二进制布局相匹配会有这么多(例如像素或音频样本),每个人的大小实际上很重要。

答案 1 :(得分:0)

它取决于指令集和编译器中的操作。

相关问题