mmap e uso de memória

Estou escrevendo um programa que recebe grandes quantidades de dados (em partes de tamanhos diferentes) da rede, os processa e os grava na memória. Como alguns dados podem ser muito grandes, minha abordagem atual está limitando o tamanho do buffer usado. Se uma parte for maior que o tamanho máximo do buffer, gravarei os dados em um arquivo temporário e depois leio o arquivo em partes para processamento e armazenamento permanente.

Eu estou querendo saber se isso pode ser melhorado. Eu tenho lido sobre o mmap por um tempo, mas não tenho cem por cento de certeza se ele pode me ajudar. Minha idéia é usar o mmap para ler o arquivo temporário. Isso ajuda de alguma forma? A principal coisa que me preocupa é que um grande pedaço ocasional de dados não deve encher minha memória principal, fazendo com que todo o resto seja trocado.

Além disso, você acha que a abordagem com arquivos temporários é útil? Eu deveria estar fazendo isso ou, talvez, devo confiar no gerenciador de memória Linux para fazer o trabalho para mim? Ou devo fazer algo completamente diferente?

questionAnswers(3)

yourAnswerToTheQuestion