【发布时间】:2011-07-17 20:25:22
【问题描述】:
可能重复:
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 位数据?
如果我必须存储少量字符,将它们存储为整数不是更快吗?
【问题讨论】:
-
如果您要存储少量字符,为什么还要为潜在的纳秒差异而烦恼?
-
@Erik:一个变量可以被使用数百万次。你的论点不成立。
-
@R.:对字符使用更广泛的类型可能会增加缓存未命中率。除非分析器证明不是这样,否则毫无意义的优化。
-
CPU 将最近使用的内存位置保存在“快速 RAM”中,此 RAM 是慢得多的主内存的缓存。
-
优化很重要,学习如何以最快的方式做事是一件好事! .请停止过早的悲观化。
标签: c++ c compiler-construction processor