Nit*_*arg 4 c++ int performance types operating-system
我在某处读到 int 数据类型提供更好的性能(与 long 和 short 相比),无论操作系统如何,因为它的大小根据操作系统的字大小进行修改。其中 long 和 short 占用 4 和 2 个字节,这可能与 OS 的字大小匹配,也可能不匹配。任何人都可以对此做出很好的解释吗?
从标准:
3.9.1,§2:
有五种有符号整数类型:“signed char”、“short int”、“int”、“long int”和“long long int”。在此列表中,每种类型至少提供与列表中它之前的类型一样多的存储空间。普通整数具有执行环境架构建议的自然大小 (44);提供其他有符号整数类型以满足特殊需要。
所以你可以说char <= short <= int <= long <= long long。
但是你不能说短是 2 字节,长是 4。
现在回答您的问题,大多数编译器将 int 与其目标平台的寄存器大小对齐,这使得对齐更容易,并且在某些平台上访问速度更快。但这并不意味着您应该更喜欢 int。
根据您的需要取数据类型。不要在没有性能测量的情况下进行优化。
归档时间: |
|
查看次数: |
557 次 |
最近记录: |