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