我正在开发一个对对象进行大量操作的程序;创建、删除、dynamic_cast-ing、改组指针、比较内容等。这些对象中的大多数至少有 40 个字节(最多约 90 个字节),并且一次在内存中可能有超过 10,000 个。
我要确定的是我是否应该费心尝试减小它们的大小。我可以分析构造函数、新建、删除等。但是,我相信大型对象对性能的最重要影响是缓存不友好。有没有办法确定对象大小对发生的缓存未命中次数的贡献?
PS:我想过度使用 dynamic_cast 也会影响性能。然而,这更容易诊断。
编辑:我知道没有分析就进行优化是没有用的。我要问的是如何从分析中确定它是否有问题。惩罚是否有可能分布在整个代码中,以至于标准分析工具没有帮助?