У меня есть большая структура (~ 200Mb), которую я десериализовываю из большого файла JSON из Java с использованием serde_json, и эта десериализация происходит снова, когда появляются новые данные. Структура имеет Vec
s, HashMap
строк и структур строк и т. Д.
Просматривая страницу руководства для mallopt (3) , я обнаружил, что переменная средыMALLOC_MMAP_THRESHOLD_
может быть установлено, чтобы контролировать, сколько выделения должно быть запрошено для malloc для выделения с использованием mmap. Я хочу выделить свою структуру из mmap, потому что куча вызывает фрагментацию памяти во время перезагрузок. Я хочу, чтобы старая освобожденная память (та, которая была заменена новой десериализованной структурой) немедленно возвращалась в систему (а не хранилась ни на одной из арен malloc).
Есть ли способдостичь этого? Должен ли я использовать какой-то другой формат данных?