mmap i wykorzystanie pamięci

Piszę program, który odbiera ogromne ilości danych (w kawałkach o różnych rozmiarach) z sieci, przetwarza je i zapisuje w pamięci. Ponieważ niektóre dane mogą być bardzo duże, moje obecne podejście ogranicza rozmiar bufora. Jeśli kawałek jest większy niż maksymalny rozmiar bufora, zapisuję dane do pliku tymczasowego, a następnie czytam plik w kawałkach w celu przetworzenia i trwałego przechowywania.

Zastanawiam się, czy można to poprawić. Od pewnego czasu czytam o mmapie, ale nie jestem w stu procentach pewien, czy może mi to pomóc. Moim pomysłem jest użycie mmap do odczytu pliku tymczasowego. Czy to w jakikolwiek sposób pomaga? Główną rzeczą, której się obawiam, jest to, że sporadyczne duże dane nie powinny wypełniać mojej głównej pamięci, powodując, że wszystko inne zostanie zamienione.

Ponadto, czy uważasz, że podejście z plikami tymczasowymi jest przydatne? Czy powinienem to robić, czy może powinienem zaufać menedżerowi pamięci linux, aby wykonał to za mnie? Czy powinienem zrobić coś zupełnie innego?

questionAnswers(3)

yourAnswerToTheQuestion