C 需要关于工具的建议,以测量两个版本的代码之间的内存使用(运行时)差异吗
我有一个包含char*的结构,其中包含编码/压缩的二进制数据。函数将此二进制函数解码并解压缩为第一个结构的嵌套结构。简化结构定义如下:C 需要关于工具的建议,以测量两个版本的代码之间的内存使用(运行时)差异吗,c,memory,profiling,valgrind,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;
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与Valgrind在性能方面的差异,但这列出了程序分配的总内存,显然保持不变。我想知道我现在有多少内存可用于计算本身,因为在程序运行时,我必须在内存中存储更少的数据
有没有人对我有什么好的工具/建议来衡量这一点
提前谢谢