查找已分配数据的未执行位
Finding Unexercised Bits of Allocated Data
是否有工具可以检查C/C++中已分配数据中的未执行位?
当我们试图减少用C++编写的DMD D编译器的内存消耗时,我们可以使用这样的工具a。有关详细信息,请参阅本文。
更新:我想马西夫是一个很好的竞争者,对吧?
看完对话后,我认为你应该做的第一件事就是按照你的建议使用massif。然后,如果你看到某个特定类型被分配了很多,你可以研究一下。
当然,未执行的位在编译器中并不是一个关键的内存占用者,在AST构建和最重要的优化(ipo)中应该有更大的东西。
此外,如果您发现某种类型通过切换到占地面积较小的类型而在尺寸方面真正受益,请确保对性能进行基准测试。基准测试很重要,因为如果一个特定的4/8字节类型足以产生影响,那么cpu在对非其原生单词大小()的类型进行计算时通常会较慢,这很重要
请参阅:内置类型的性能:char与short与int与float与double
相关文章:
- C++ - 使用用户输入的字符串数据检查结构字符串数据(无限执行 while 循环)
- 编译器如何在编译时执行数据绑定?
- 是否可以访问类数据成员并在析构函数中对它们执行操作?
- 使用 CMake 在可执行文件中嵌入二进制数据
- 对来自csv文件的数据执行OpenCV k-means
- 我们是否可以使用 SEAL / PySEAL 库对加密数据执行除法操作Microsoft?
- 如何在SDL2音频流数据上执行实时FFT
- 在大型数据集上执行时不返回 SQL
- 尝试执行绕道附加,但无法将我的lua函数的数据类型转换为LPVOID
- 从文件中读取数据并在C 中执行矩阵乘法
- (C++,提升::变体)提升变体映射的数据类型并对其执行数学运算
- 现代C++.从继续执行的工作线程返回数据结构
- 如果我想在执行过程中将其内存减少一半,我可以使用哪种数据结构
- 将数据附加到C 中的文件,但如果将程序重新执行,则覆盖数据
- TCP插座即使在执行sendall()后也无法发送数据
- 如何在GPU上的两个数据容器(最好是CUDA)上执行关系连接
- 对“呍”数据结构执行插入操作
- 未收到确认时如何执行数据包重试
- 有没有像Python那样的C++执行/数据模型
- 直接执行数据