Я читаю 50-гигабайтный файл (только чтение), используя несколько потоков с каждым потоком, читающим последовательный сегмент из файла. Я попробовал два подходаПочему FileChannel работает лучше, чем MemoryMappedBuffer?
- Использование FileChannel
- Используя MemoryMappedBuffer, полученный из FileChannel
Я ожидал MemoryMappedBuffer опережать FileChannel но FileChannel выполняет около 30% лучше последовательно.
Я ищу объяснения. Я - картография памяти в 1 Гб за раз, и как только я заканчиваю, я сопоставляю еще 1 Гб.
Моя среда: Windows 7 Платформа 64 бит Xeon 2,7 ГГц 2 процессора
Windows 7 платформа 64 бит xeon 2,7 ГГц 2 процессора – Sid
Сколько у вас RAM? Если вам не хватает более 50 гб, FileChannel должен быть быстрее (чем при использовании виртуальной памяти). – ebyrob
Какова цель чтения всего файла с 50 играми? Не можете ли вы обработать его по частям, чтобы он мог поместиться в ваш баран? – walkeros