@n_angelo
IT's OK

Почему долго создаётся копия файла?

Создаю копию файла wav, которую передаю аргументом в программу. А затем побайтно посылаю на stdout в файл ( wav > output).
Файл в 9 мегабайт создаётся заметно... очень заметно дольше, чем просто копирование в файловом менеджере.

В чем разница алгоритмов?
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега C
Седой и строгий
Во-первых, если вы читаете и пишите побайтно, то количество системных вызовов равно количеству байт в файле, а каждый системный вызов переключает контекст. Во-вторых, если работа осуществляется с HDD, то головка мечется с места на место, а её позиционирование - чертовски долгая операция. В-третьих, файловый менеджер скорее всего вообще не читает и не пишет файл, а просто делает один системный вызов, типа splice, и дальше копированием занимается DMA.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы