Массив заставляет тестируемую программу использовать больше памяти?

У меня есть программа. Когда он работает нормально, моя жестко запрограммированная пиковая проверка памяти сообщает 1G. Когда он работает с массивом, мой контролер сообщает 2.2G...

Моя пиковая проверка памяти не является умной проверкой, я вызываю ее только в жестко запрограммированном месте, чтобы получить текущий отпечаток памяти. Мне было интересно, если массив может вызвать больше использования памяти программы.

1 ответ

Решение

Massif (как и другие инструменты valgrind) использует некоторую память для реализации своих собственных функций. Таким образом, если ваши отчеты по памяти, например, проверяют общий размер mmap-файла или аналогичный, это будет включать в себя служебные данные массива (и ядра valgrind). Если вы используете информацию отчетов библиотеки malloc (например, mallinfo или аналогичную), то числа должны быть достаточно близки к собственному прогону.

Другие вопросы по тегам