Я запускаю код обработки большого массива (на Pentium под управлением Linux). Размеры массивов достаточно велики, чтобы процессы могли обмениваться местами. Пока это работает, вероятно, потому, что я стараюсь сохранять непрерывность чтения и записи. Однако вскоре мне придется работать с массивами большего размера. В этом случае поможет ли переход на анонимные mmapped-блоки?
Если да, не могли бы вы объяснить почему?
Насколько я понимаю, mmap реализует отображаемый в память файл, смонтированный из раздела tmpfs, который из-за нехватки памяти возвращается к механизму подкачки.Я хотел бы понять, как mmap делает это лучше, чем стандартный malloc (ради аргумента я предполагаю, что это действительно лучше, я не знаю, так ли это).
Примечание: пожалуйста, не предлагайте устанавливать 64-битную и более RAM. К сожалению, это не вариант.