Тест копирования

Хотите говорить о Far и не знаете, куда обратиться?
User avatar
WARP ItSelf
Самый умный
Posts: 1011
Joined: Tue 15 Mar, 2005 23:19
Contact:

Тест копирования

Post by WARP ItSelf »

Выкладываю 2 версии с измененным алгоритмом копирования.

1. Место под файл выделяется до копирования.

http://www.farmanager.com/farbugs/2040. ... space2.rar

2. При копировании не использутся системное кэширование.
(FILE_FLAG_NO_BUFFERING).

http://www.farmanager.com/farbugs/2040. ... fering.rar

Хотелось бы узнать, насколько данные версии быстрее/медленее обычного Far (стандартный размер буфера копирования == 64к).

Внимание! Это тестовый функционал, возможны проблемы с рапортованием ошибок.
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Post by Denis »

А как организовать тест так, что бы сама windows не кешировала файлы, которые я только что копировал ? Т.е. как сделать тест чистым. Не хочется для каждого теста перегружать машину.
void
Posts: 23
Joined: Sat 25 Jun, 2005 17:56

Re: Тест копирования

Post by void »

WARP ItSelf wrote:Выкладываю 2 версии с измененным алгоритмом копирования.

1. Место под файл выделяется до копирования.

2. При копировании не использутся системное кэширование.
(FILE_FLAG_NO_BUFFERING).
Я, наверное, чего-то не понимаю... Но зачем нужны эти две версии?

Фича #1 весьма полезна (на скорости собственно процесса копирования практически не сказывается - зато здорово влияет на фрагментацию файловой системы). Но в некоторых случаях неудобна. Главный минус - в случае, когда копирующий процесс не доживает до завершения операции (например, из-за отключения электропитания), получим файл правильного размера с неправильным содержимым. Не поймут-с. "Во избежание" можно копировать с другим именем и после успешного завершения переименовывать (не факт, что это стоит реализовывать). Получаем, что существующее поведение нужно, новое также нужно.

Фича #2 ещё более неоднозначна. Поскольку отключение кэширования может как увеличить, так и уменьшить скорость в зависимости от множества параметров. Опять же стоит сделать возможность выбора.

Итого получаем две дополнительные галки в окошке копирования с настраиваемым глобально значением "по умолчанию" :-)

И я бы предложил "по умолчанию" выделять место, но не отключать кэширование.
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Post by Andrey Budko »

судя по количеству ответов, встроенное копирование не пользуется популярностью :)
Denis
Posts: 1444
Joined: Tue 05 Apr, 2005 18:12
Has thanked: 10 times
Been thanked: 5 times

Post by Denis »

Тестил новые 2040е версии вместе с версией 2039.
По скорости копирования все три версии работают одинаково.
void
Posts: 23
Joined: Sat 25 Jun, 2005 17:56

Post by void »

Denis wrote:Тестил новые 2040е версии вместе с версией 2039.
По скорости копирования все три версии работают одинаково.
(Пожимая плечами) А у меня разница в скорости до 5 раз доходит.
User avatar
WARP ItSelf
Самый умный
Posts: 1011
Joined: Tue 15 Mar, 2005 23:19
Contact:

Post by WARP ItSelf »

Господа, кто не понял, я не спрашивал, что вы думаете по поводу копирования вообще и копирования в Фаре в частности. Я просил лишь померять время затрачиваемое на копирование старым методом, 2-мя предложенными и, возможно, каким-либо из плагинов и представить результаты.

2void: между чем и чем разница?
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Post by DiRTy_GaRRy »

Погонял немного. Вот результаты:
  1. Копирование между двумя разделами одного диска одного файла размером 617,234,432 байт:
    1. 2040.copy.nobuffering:
      0:52
      1:45
      1:02
      0:48
      1:45
      1:05
      0:48
    2. 2040.copy.preallocatespace2:
      0:48
      1:59
      0:49
      2:07
      0:49
      0:48
      2:15
      0:48
  2. Копирование с DVD на диск одного файла размером 602,558,464 байт:
    1. 2040.copy.nobuffering:
      1:10
      1:12
      1:12
      1:10
    2. 2040.copy.preallocatespace2:
      1:13
      1:10
      1:10
      1:10
  3. Копирование 3059-и файлов размером 93,737,173 байт между двумя разделами одного диска:
    1. 2040.copy.nobuffering: 1:00
      0:48
      0:53
      0:48
      0:53
    2. 2040.copy.preallocatespace2:
      0:49
      0:28
      0:29
      0:27
Немного о себе:
  • Windows XP SP2 VL Eng + Hotfixes
  • P4 2.8 Mhz, 512 Dual Chanel, ST3120026AS (SATA), GA-8IK1100 (Rev 2.0) с включеннёс RAID контроллером + установлен Intel Matrix Storage Manager.
Ы?
User avatar
WARP ItSelf
Самый умный
Posts: 1011
Joined: Tue 15 Mar, 2005 23:19
Contact:

Post by WARP ItSelf »

DiRTy_GaRRy

Хотелось бы для сравнения еще и копирование Фаром 2039. Собственно, ведь пытаемя его оптимизировать. А то непонятно, выигрывает ли хоть один из методов. А иначе зачем они нам.
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Post by DiRTy_GaRRy »

WARP ItSelf, ага. Вечерком сделаю. Что то я не подумал.
Ы?
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Может за одно сравнишь скорость с BC/FileCopyEx и [x] Use system?
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Post by Andrey Budko »

я вот не понимаю, вы у себя сравнить не можете? мало того, что невооруженным глазом видно - говно или не говно, дело ведь не в милисекундах а в разах, так еще и заведомо не говняная реализация доступна в исходниках. она проверена временем. надо просто сделать так как там. все. ничего не надо тестировать. я не прав?
User avatar
WARP ItSelf
Самый умный
Posts: 1011
Joined: Tue 15 Mar, 2005 23:19
Contact:

Post by WARP ItSelf »

Andrey Budko

Сравнил, получаю одинаковые результаты. Причем и bcopy не быстрее. ExtCopy, быстрее, но ненамного. Все в районе 80-90 секунд на 700 мб файле не зависимо от того, с какого на какой раздел гонять (FAT/NTFS). Ни о каких разах у меня речи не идет. Предлагаешь так всем и сказать: "У меня не повторяется, все чудесно копируется?". Я думаю, что нет, поэтому я предложил, чтобы народ у кого есть эти различия сам проверил разные методы. Ты не находишь, что это разумно?
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Post by Andrey Budko »

на небольших пачках немаленьких файлов бкопи, бета5 и твои два фара копируют приблизительно одинаково - 650 мб за 29-30 секунд. как в пределах одного раздела, так и в разных разделох одного винта. на этом же наборе файлов фар 2039 копирует медленее на 8%-15%. варианты с винта на винт, с сиди на винт итд проверить не могу.
void
Posts: 23
Joined: Sat 25 Jun, 2005 17:56

Post by void »

WARP ItSelf wrote:Andrey Budko

Сравнил, получаю одинаковые результаты. Причем и bcopy не быстрее. ExtCopy, быстрее, но ненамного. Все в районе 80-90 секунд на 700 мб файле не зависимо от того, с какого на какой раздел гонять (FAT/NTFS). Ни о каких разах у меня речи не идет. Предлагаешь так всем и сказать: "У меня не повторяется, все чудесно копируется?".
Погонял тесты для наиболее интересных мне случаев. CopyBufferSize=0, быстрая машина с 1 GB RAM, WinXP SP2.

С быстрого DVDD (16x в конце диска) на быстрый HDD. 2039 - 4:08, обе 2040 - 0:38. Т. е. 2040 быстрее в ~6.5 раз. И это воспроизводится стабильно (результаты 2040 и FileCopyEx примерно равны).

Один большой файл в пределах одного HDD - 2040 без буферизации проигрывает 10-20% 2039/2040-preallocate. FileCopyEx за счёт большого буфера обгоняет всех примерно вдвое.

Один большой файл с одного HDD на другой - все примерно равны.

Почти все результаты были предсказуемы. Не ясна точная причина резкого роста скорости копирования с DVDD. Поскольку 2040 с буферизацией, но без preallocate вы не даёте. О чём я сразу и сказал - нужны галочки в настройках.

А починить возможность использовать системную функцию копирования не планируется?
Post Reply

Return to “Обсуждение Far Manager”