我正在编写一个抽象矩阵类(和一些具体的子类)用于非常不同的硬件/体系结构等,我想编写一个行和列类型,为矩阵的行和列提供透明引用.
但是,我想调整性能,所以我希望这个类本质上是一个编译器构造。换句话说,我愿意牺牲一些开发时间来使这些类的开销尽可能小。
我假设所有(小)方法都希望内联?保持结构小?还有其他建议吗?
最佳答案
效率设计黄金法则 1 是真正正确地完全完全理解和欣赏您工作环境的所有细微差别。
包括但不限于:
- 了解您正在使用的每个编译器构造的成本
- 了解编译器如何使用内存
- 在信封或餐巾纸的背面进行适当的设计。如果不合适,你就有麻烦了。
- 构建小示例并测试/反汇编
- 重新审视设计。
然后编写一些真实的测试用例并在不同的硬件上进行测试,以确定是否存在性能问题;我已经这样做了几次,除非您使用汇编程序编写,否则性能下降可能会出现在最奇怪的地方。
如果速度太慢,请添加硬件。如果您无法添加硬件优化。
关于c++ - 我想为其中一个类的某些内部结构制作一个包装的访问类型,我有一些性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3047438/