LINUX.ORG.RU
      --mmap If possible, use the mmap(2) system call to read input, instead of the default read(2) system call.   In  some  situations,  --mmap  yields
              better  performance.  However, --mmap can cause undefined behavior (including core dumps) if an input file shrinks while grep is operating,
              or if an I/O error occurs.

ты про это что-ли?

maloi ★★★★★
()
Ответ на: комментарий от maloi

нет, у тебя устаревший ман. последние версии эту опцию просто игнорируют. я пытаюсь понять как пришли к такому решению.

в рассылке я нашел следующее:

mmap is a bad idea for sequentially accessed file because it will cause a page fault for every read page. Just consider it a failed experiment, and ignore --mmap while accepting it for backwards compatibility.

что я не до конца понимаю.

cvv ★★★★★
() автор топика
Ответ на: комментарий от cvv

Неэффективность заключается в page fault на каждую прочитанную страницу. По всей видимости, read() делает упреждающие чтение нескольких страниц за раз, и поэтому эффективнее mmap().

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

ну mmap() тоже умеет упреждающее чтение, а стоимость page fault много меньше стоимости read(). Или я неправ?

cvv ★★★★★
() автор топика

покачто выяснил что mmap() & read() пользуюит разные механизмы упреждающего чтения, причем конкретно на линуксе в среднем сумма read() + соответствующее упреждающее чтение более эффективна чем сумма mmap() + упреждающие чтение. Очень странно и непонятно.

cvv ★★★★★
() автор топика
Ответ на: комментарий от Legioner

ему это можно обьяснить при помощи madvise()

cvv ★★★★★
() автор топика
5 января 2015 г.
Ответ на: комментарий от cvv

ну mmap() тоже умеет упреждающее чтение, а стоимость page fault много меньше стоимости read(). Или я неправ?

не прав, потому что в итоге все-равно прийдется делать чтение.

val-amart ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.