У меня есть программа, которая обычно использует массивные массивы, где память выделяется с помощью mmap
накладных резервирования адресного пространства с помощью ММАП
Кто-нибудь знает типичные накладные расходы распределения адресного пространства в больших количествах до памяти зарезервирована, либо при назначении MAP_NORESERVE
или резервной копии пространства с разреженным файлом? It5 ударяет меня, mmap не может быть бесплатным, так как он должен делать записи таблицы страниц для выделенного пространства. Я хочу иметь некоторое представление об этих накладных расходах, прежде чем внедрять алгоритм, который я рассматриваю.
Очевидно, что ответ будет зависимым от платформы, им больше всего интересны x64 linux, sparc solaris и sparc linux. Я думаю, что доступность 1-мегабайтных страниц делает накладные расходы скорее меньше, чем x64.
Я бы не стал беспокоиться о накладных расходах вообще. Это звучит как [преждевременная оптимизация] (http://programmers.stackexchange.com/questions/80084/is-premature-optimization-really-the-root-of-all-evil). – Celada