Оптимизировать копирование
От: Kubyshev Andrey  
Дата: 03.05.13 16:26
Оценка:
Я вот тут думаю над одной задачай и подумал: а нельзя ли ускорить копирование файлов на диске если копирование в пределах 1 физич диска HDD

Избежать копирование данных в юзермод и обратно через весь стек драйверов.
Типа так: я как то получил сектора на которых располагается файл. Создал пустой файл какого-то качества типа sparse и такого же размера. Получаю сектора на которых этот файл расположился.
Теперь я драйверу сообщаю src и dst сектора и он делат всю работу там где то внутри диска. Сектора это я условно. Хз че там щас используется.
2 вопроса:
Можно ли так ?
Будет ли это эффективнее ?

Это мне нужно для системы тестов. У меня в тестах копируется большой набор данных, сравнивается с эталоном, потом другой , потом др и так далее., потом с другой версией дллкок всё по новой. Жалко хдд мне стало.
ramdiska не хватит. Файлы от 50 до 100 GB
Re: Оптимизировать копирование
От: Kubyshev Andrey  
Дата: 03.05.13 16:28
Оценка:
Блин, подумал что быстрее это может быть и будет , но диск шуршать меньше не станет.

Давайте подумаем вместе вощем !
Re: Оптимизировать копирование
От: vsb Казахстан  
Дата: 03.05.13 16:42
Оценка:
Вроде это называется copy on write filesystem, в линуксе такие есть.
Re: Оптимизировать копирование
От: Ernesto  
Дата: 03.05.13 16:51
Оценка:
Здравствуйте, Kubyshev Andrey, Вы писали:

IOCTL_DISK_COPY_DATA
Re: Оптимизировать копирование
От: Константин Черногория  
Дата: 06.05.13 17:56
Оценка:
Здравствуйте, Kubyshev Andrey, Вы писали:

KA>Будет ли это эффективнее?

Вряд ли.
По сравнению со скоростью диска, system call занимает очень мало времени, и в зависимости от IO strategy может вообще исполняться параллельно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.