LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

fread это обёртка над read, только с кучей лишнего ненужного.

Скорость растёт потому что это нубы, которые сначала абы как вызывают read а потом абы как вызывают mmap, и при этом у них много памяти, что позволяет засунуть файл целиком в память, ну или значительную его часть.

Читать с помощью read по 1 байту и правда выйдет очень медленно, но так делать не надо - изучи как всё работает и сделай нормальный интерфейс к файлам на диске. За тебя, именно для твоей проги, никто это делать не будет. mmap, повторю, хорош лишь тем, что с ним кодингом своего индивидуально оптимизированного алгоритма работы с диском можно не заниматься, и результат будет более-менее вменяемый. Но если хочешь сделать наилучший вариант - надо его делать вручную.

Исходная версия firkax, :

fread это обёртка над read, только с кучей лишнего ненужного.

Скорость растёт потому что это нубы, который сначала абы как вызывают read а потом абы как вызывают mmap, и при этом у них много памяти, что позволяет засунуть файл целиком в память, ну или значительную его часть.

Читать с помощью read по 1 байту и правда выйдет очень медленно, но так делать не надо - изучи как всё работает и сделай нормальный интерфейс к файлам на диске. За тебя, именно для твоей проги, никто это делать не будет. mmap, повторю, хорош лишь тем, что с ним кодингом своего индивидуально оптимизированного алгоритма работы с диском можно не заниматься, и результат будет более-менее вменяемый. Но если хочешь сделать наилучший вариант - надо его делать вручную.