Я вот тут думаю над одной задачай и подумал: а нельзя ли ускорить копирование файлов на диске если копирование в пределах 1 физич диска HDD
Избежать копирование данных в юзермод и обратно через весь стек драйверов.
Типа так: я как то получил сектора на которых располагается файл. Создал пустой файл какого-то качества типа sparse и такого же размера. Получаю сектора на которых этот файл расположился.
Теперь я драйверу сообщаю src и dst сектора и он делат всю работу там где то внутри диска. Сектора это я условно. Хз че там щас используется.
2 вопроса:
Можно ли так ?
Будет ли это эффективнее ?
Это мне нужно для системы тестов. У меня в тестах копируется большой набор данных, сравнивается с эталоном, потом другой , потом др и так далее., потом с другой версией дллкок всё по новой. Жалко хдд мне стало.
ramdiska не хватит. Файлы от 50 до 100 GB
Здравствуйте, Kubyshev Andrey, Вы писали:
KA>Будет ли это эффективнее?
Вряд ли.
По сравнению со скоростью диска, system call занимает очень мало времени, и в зависимости от IO strategy может вообще исполняться параллельно.