Я пишу программу, которая получает огромное количество данных (в разных размерах) из сети, обрабатывает их и записывает их в память. Поскольку некоторые части данных могут быть очень большими, мой текущий подход ограничивает используемый размер буфера. Если кусок больше максимального размера буфера, я записываю данные во временный файл и затем читаю файл в кусках для обработки и постоянного хранения.
Мне интересно, можно ли это улучшить. Я читал о mmap некоторое время, но я не уверен на сто процентов, если это может мне помочь. Моя идея - использовать mmap для чтения временного файла. Помогает ли это в любом случае? Главное, о чем я беспокоюсь, это то, что иногда большая часть данных не должна заполнять мою основную память, из-за чего все остальное должно быть заменено.
Также, как вы считаете, подход с временными файлами полезен? Должен ли я это делать или, может быть, должен ли я доверять менеджеру Linux-памяти для выполнения этой работы? Или я должен вообще что-то сделать?