有没有可用的工具来检查C / C++中分配的数据中未执行的位?

当我们尝试减少用C++编写的DMD D编译器中的内存消耗时,可以使用此类工具。有关详细信息,请参见this post

更新:我猜Massif是一个很好的竞争者,对吗?

最佳答案

阅读对话后,我认为您应该做的第一件事就是像建议的那样使用地块。
然后,如果您看到分配了一些特定类型,则可以进行调查。

尽管自发地,未执行的位并没有使我成为编译器中的关键内存,但AST构造中应该有更大的功能,而且最重要的是优化(ipo)。

另外,如果您发现某些类型通过切换到具有较小占用空间的类型而实际上在大小上受益的类型,请确保对性能进行基准测试。基准测试很重要,因为如果一种特定的4/8字节类型显示出足以产生变化的能力,那么在对非本机字长的类型进行计算时,cpus通常会变慢,

请参阅:Performance of built-in types : char vs short vs int vs. float vs. double

关于c++ - 查找未执行的分配数据位,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23255043/

10-12 15:04