我的结构包含一个包含编码/压缩二进制数据的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进行比较,但是列出了程序分配的总内存,这显然保持不变。我想知道我现在有多少内存(额外)用于计算本身,因为我必须在程序运行时将更少的数据存储在我的内存中。
有没有人对我如何衡量这一点有什么好的工具/建议?
先谢谢。