LINUX.ORG.RU

доступ к данным. скорость ?


0

0
Есть файл с ~100MB бин. данных. Нужно как можно быстрее иметь доступ в любую часть файла. Вариант 1: open -> lseek -> (read часть данных) и т.д. Вариант 2: open -> (read(fd, buff, весь файл)) и ходить по данным через указатель (buff). 2-ой вариант должен быть бы быстрее, однако разницы практически нет... Почему ?
anonymous
Ответ на: комментарий от anonymous
В области префронтальной коры возможно.. Более детальное телепатическое сканирование должно дать более точный результат.
anonymous
()
Ответ на: комментарий от anonymous
Всем ;) В память будет записан не весь файл сразу, а будут копироваться отдельные части, по мере обращения к ним.
devinull ★★
()
Ответ на: комментарий от devinull
> В память будет записан не весь файл сразу, а будут копироваться отдельные части

Ну так это доп. время (доступ к венику) ;) Медленней будет, а памяти до фига пусть сразу весь копирует.

anonymous
()
Ответ на: комментарий от anonymous
>Медленней будет, а памяти до фига пусть сразу весь копирует.

жесть. а что будет там, где памяти не дофига?

stave ★★★★★
()
> однако разницы практически нет... Почему ?

Наверное потому, что у тебя хватает памяти под дисковый кеш, и в итоге файл весь в кеше сидит. Разумнее делать второй вариант, если памяти и правда хватает по условиям задачи -- сам доступ упрощается.

Casus ★★★★★
()
mmap и пусть за тебя операционная система думает, чего кэшировать и чего нет.
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.