查找已分配数据的未执行位

Finding Unexercised Bits of Allocated Data

本文关键字:执行 数据 分配 查找      更新时间:2023-10-16

是否有工具可以检查C/C++中已分配数据中的未执行位?

当我们试图减少用C++编写的DMD D编译器的内存消耗时,我们可以使用这样的工具a。有关详细信息,请参阅本文。

更新:我想马西夫是一个很好的竞争者,对吧?

看完对话后,我认为你应该做的第一件事就是按照你的建议使用massif。然后,如果你看到某个特定类型被分配了很多,你可以研究一下。

当然,未执行的位在编译器中并不是一个关键的内存占用者,在AST构建和最重要的优化(ipo)中应该有更大的东西。

此外,如果您发现某种类型通过切换到占地面积较小的类型而在尺寸方面真正受益,请确保对性能进行基准测试。基准测试很重要,因为如果一个特定的4/8字节类型足以产生影响,那么cpu在对非其原生单词大小()的类型进行计算时通常会较慢,这很重要

请参阅:内置类型的性能:char与short与int与float与double