Нужны предложения по инструменту для измерения разницы в использовании памяти (времени выполнения) между двумя версиями кода - PullRequest
2 голосов
/ 02 марта 2012

У меня есть структура, которая содержит символ *, который содержит закодированные / сжатые двоичные данные. Функция декодирует и распаковывает эту двоичную функцию во вложенную структуру первой структуры. Упрощенные определения структуры ниже:

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, но в ней указан общий объем памяти, выделенный программой, который, очевидно, остается неизменным. Я хотел бы знать, сколько памяти у меня теперь доступно (дополнительно) для самих вычислений, поскольку мне нужно хранить меньше данных в моей памяти во время работы программы.

Есть ли у кого-нибудь хорошие инструменты / предложения для меня, как это измерить?

Заранее спасибо.

...