需要一个工具的建议来衡量两个版本的代码之间的内存使用(运行时)的差异

时间:2012-03-02 09:56:12

标签: c memory profiling valgrind

我的结构包含一个包含编码/压缩二进制数据的char *。函数将此二进制函数解码并解压缩为第一个结构的嵌套结构。简化的结构定义如下:

typedef struct {
    int count;
    float X-data;
    float Y-data;
} spectra;
typedef struct {
    int count;
    char* binary;
    int binary_length;
    spectrum* spectra
} chrom;

我的程序的第一个版本只在程序结束时释放了分配给char *的内存,但昨天我意识到我可以在解码/解压缩后直接释放它。

然后我尝试将性能方面的差异与Valgrind进行比较,但是列出了程序分配的总内存,这显然保持不变。我想知道我现在有多少内存(额外)用于计算本身,因为我必须在程序运行时将更少的数据存储在我的内存中。

有没有人对我如何衡量这一点有什么好的工具/建议?

先谢谢。

0 个答案:

没有答案