mmap et l'utilisation de la mémoire

Je suis en train d'écrire un programme qui reçoit d'énormes quantités de données (en morceaux de différentes tailles à partir du réseau, les processus et les écrit dans la mémoire. Depuis quelques oeuvres de données peut être très grande, ma démarche actuelle est de limiter la taille de la mémoire tampon utilisée. Si une pièce est plus grande que le maximum de la taille de la mémoire tampon, j'ai écrit les données dans un fichier temporaire et, plus tard, de lire le fichier en morceaux pour le traitement et le stockage permanent.

Je me demande si cela peut être amélioré. J'ai lu à propos de mmap pour un moment, mais je ne suis pas à cent pour cent sûr que si il peut m'aider. Mon idée est d'utiliser mmap pour la lecture du fichier temporaire. Est-ce à aider de quelque façon? La principale chose que je suis inquiète, c'est qu'occasionnellement un grand morceau de données ne doit pas remplir mon mémoire principale entraînant tout le reste pour être échangé.

Aussi, pensez-vous que l'approche avec des fichiers temporaires est utile? Même si je dois faire ça ou, peut-être, devrais-je faire confiance à linux, le gestionnaire de mémoire pour faire le travail pour moi? Ou dois-je faire quelque chose d'autre?

source d'informationauteur Elektito | 2012-04-24