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