Почему MMAP () (отображенный файл памяти) быстрее, чем read ()JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему MMAP () (отображенный файл памяти) быстрее, чем read ()

Сообщение Anonymous »

Я недавно работал над кое -что о Mavenbytebuffer of Java Nio.
Я прочитал несколько постов об этом, и все они упоминают об этом » быстрее, чем read () ". должен прочитать данные через: файл диска -> ядро ​​-> приложение, поэтому он имеет контекстное переключение и копирование буфера. Итак, в первый раз он прочитал: Виртуальный адрес -> MEMORY -> FAIN -FULNE -> DISK FILE -> KERNEL -> память. За исключением того, что вы можете получить к нему доступ к нему случайным образом, последние 3 шага (файл диска -> ядро ​​-> память) точно такой же, как read () , так как, как mmap () быть менее копированием или syscall, чем read () ? Данные памяти в SWAP (LRU)? Поэтому, когда во второй раз, когда вы получаете доступ к этим данным, ОС извлекает их из SWAP, но не дискового файла (нет необходимости копировать в буфер ядра), именно поэтому Mmap () имеет меньшее копирование и syscall? Поэтому, когда вы читаете из MapedByteBuffer, значит ли это, что ему нужна еще одна дополнительная копия памяти извне java Heap в java Heap? Спасибо :)

Подробнее здесь: https://stackoverflow.com/questions/291 ... -than-read
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»