c++ - 性能与正确性/偏好?

标签 c++ optimization

typedef unsigned char uChar;
typedef signed char sChar;

typedef unsigned short uShort;
typedef signed short sShort;

typedef unsigned int uInt;
typedef signed int sInt;

typedef unsigned long uLong;
typedef signed long sLong;

我有一个 typedef 列表,所以当我定义变量时,我可以准确无误。例如,如果我只需要数字 0-5,我会使用 uChar。但我正在使用 C++ 并正在制作引擎。我正在阅读有关 .NET 上的 bool 值占用 X 字节的信息,并且由于内存对齐,使用整数会更快。

由于内存对齐、性能等原因,是否有理由使用 int 而不是 uChar?

最佳答案

这是一种不太重要的过早优化。我会选择一种数据结构并继续使用它。一旦你有一个有问题的完整系统,分析它以找出问题所在。您猜测并击中性能不佳的钉子的机会确实很小。

关于c++ - 性能与正确性/偏好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3951326/

相关文章:

java - 编译器使用关联性有什么问题?

c++ - 为什么 (false?A() :B()). test() 只有 A 和 B 有子类关系时才能编译?

c++ - 我不能重载输入运算符来输入一个字符数组(C 风格字符串),这是我的类的一个成员变量吗?

c++ - 什么是 C++ 优化和 Visual Studio 中的整个程序优化

java - JIT 编译器可以内联 Java 8 默认接口(interface)方法吗?

optimization - 生产 Web 应用程序每秒的 "average"个请求是多少?

c++ - "Double"函数与 C++0x

c++ - 了解 C/C++ 中函数调用的堆栈框架?

C++ - 使用基类作为模板参数

c++ - 在 bool 函数中返回 true 或其他内容