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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.