是否有工具可以检查C / C ++中已分配数据中的未执行位?
当我们试图减少用C ++编写的DMD D编译器中的内存消耗时,我们可以使用这样的工具。有关详细信息,请参阅this post。
更新:我猜Massif是一个很好的竞争者,对吗?
答案 0 :(得分:1)
在阅读完对话后,我认为您应该做的第一件事就是按照您的建议使用地块。 然后,如果您看到某些特定类型被分配了很多,您可以查看它。
自然而然,未经编程的位不会让我在编译器中成为关键的内存耗尽,AST构造中应该有更大的东西,尤其是优化(ipo)。
此外,如果您发现某些类型通过切换到占用空间较小的类型实际上有利于大小,请确保以性能为基准。基准测试很重要,因为如果一个特定的4/8字节类型显示出足以产生差异,那么在对非本机字大小的类型进行计算时,cpus通常较慢可能很重要,
请参阅:Performance of built-in types : char vs short vs int vs. float vs. double