ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Здесь можно создавать свои темы для обсуждения (прямо или косвенно связанные с Unreal Commander).

Модератор: motyara

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3430
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение Max Diesel »

Существует мнение, что удаление Uncom проводит значительно медленее, чем TC. Хотелось бы увидеть конкретные цифры. К сообщению прикреплена утилита, которая в указанном каталоге создает множество мелких файлов с различными атрибутами. Провести тест нужно так:
1. при помощи утилиты создать некоторое количество файлов (например 100 мегабайт),
2. отключить антивирус (если он есть), не исключено что он будет обеспечивать торможение процесса пытаясь узнать "кто там схватился за файл"...
3. скопировать полученный каталог с файлами в какой-нибудь другой каталог (чтобы обе программы удаляли одинаковые файлы),
4. сделать программу "в окне" и запустив часы, расположить их окно так, чтобы оно было около окна тестируемой программы,
5. выбрать "удаление с диска" (Shift+F8),
6. запомнить время начала удаления,
7. запустить удаление нажатием Enter или ОК,
8. запомнить время окончания удаления,
9. отнять минуту начала от минуты конца (до секунд),
10. повторить тест для второй тестируемой программы от пункта 4 (но уже минуя пункт 10),
11. указать результаты тестирования обеих программ в сообщении на этом форуме в этой теме (также указать версию Windows и краткую конфигурацию компьютера - например "ноутбук, Celeron 1700, 1024 МБ ОЗУ").

Итого должно получиться нечто вида:

Код: Выделить всё

100 мегабайт, 
Uncom: X1 минут, Y1 секунд,
TC: X2 минут, Y2 секунд, 
компьютер настольный, Windows Vista 64bit, 4 GB RAM. 
P.S. Просьба не начинать тестирование в момент когда близится переход на новый час... либо отнимая минуту начала от минуты конца учитывать этот факт. [/color]
Вложения
file_creator.exe.zip
Утилита для создания большого количества маленьких файлов
(306.72 КБ) 305 скачиваний
Diff
Сообщения: 109
Зарегистрирован: Вт янв 29, 2008 4:44 pm

Re: ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение Diff »

.
Последний раз редактировалось Diff Чт сен 25, 2008 12:23 am, всего редактировалось 1 раз.
MiceRus
Сообщения: 103
Зарегистрирован: Чт сен 11, 2008 3:06 pm

Re: ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение MiceRus »

Max Diesel писал(а):Существует мнение, что удаление Uncom проводит значительно медленее, чем TC. Хотелось бы увидеть конкретные цифры.
Не знаю как насчет ТС, но что медленнее стандартного эксплорера и ТОЛЬКО на больших кол-вах - точно.
Max Diesel писал(а):2. отключить антивирус (если он есть), не исключено что он будет обеспечивать торможение процесса пытаясь узнать "кто там схватился за файл"...
А так же дождаться окончания работы службы индексирования. Либо просто остановить ее командой net stop cisvc
Max Diesel писал(а):3. скопировать полученный каталог с файлами в какой-нибудь другой каталог (чтобы обе программы удаляли одинаковые файлы),
Забыл указать НА ТОМ ЖЕ ФИЗИЧЕСКОМ ДИСКЕ. У меня, например, в системе несколько дисков. Один из них сказевый рейд ,а другой - старый ИДЕшник :)
MiceRus
Сообщения: 103
Зарегистрирован: Чт сен 11, 2008 3:06 pm

Re: ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение MiceRus »

22 945 747 байт,
1117 файлов в 670 каталогах

Память ДО удаления:
ТС - 9612 Кб, вирт.память - 6672 Кб
UC - 16180 Кб, вирт.память - 14260 Кб

Память после удаления:
TC - 10008 Кб, вирт.память - 6900 Кб
UC - 17056 Кб, вирт.память - 15924 Кб

TC: 76 секунд,
Uncom: 96 секунд,
Windows Explorer: 60 секунд

компьютер настольный, Windows XP+SP1 32bit, 1,5 GB RAM.
Аватара пользователя
Makar
Сообщения: 21
Зарегистрирован: Вт сен 02, 2008 10:01 am
Откуда: Амурская область
Контактная информация:

Re: ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение Makar »

100 мегабайт,
Uncom: 45 секунд,
TC: 39 секунд,
WinExplorer: 58 сек
компьютер настольный, Windows XP SP3 (ZverCD), 2 GB RAM, IntelPentium DualCPU E2200
(кстати расчет размера этих каталогов система делает в 8-11 раза быстрее чем UC, измерено было 5 раз)
Nulla aetas ad discendum sera
Diff
Сообщения: 109
Зарегистрирован: Вт янв 29, 2008 4:44 pm

Re: ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение Diff »

компьютер настольный
Замечательная характеристика :). А если у меня компьютер под cтолом стоит - он подстольный или напольный?

17 MB, 3546 Files, 729 Folders.
Windows Explorer 12 сек
Far 12 сек
rm.exe 14 сек
Unreal Commander 25 сек

P4 3.0 GHz, WinXP SP2, NTFS.

Надо сказать, раньше на этом же (или очень похожем) наборе uncom работал медленнее, а остальные - быстрее: https://forum.unrealcommander.net/viewto ... &sk=t&sd=a . Объяснить это не могу.
Еще у меня есть очущение, что на двухпроцессорных системах разница в скорости гораздо меньше, чем на однопроцессорных. Будет время - проверю.
sentry
Охотник за багами
Сообщения: 102
Зарегистрирован: Пт окт 19, 2007 9:10 am

Re: ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение sentry »

Я наверное огорчу сторонников TC, но результаты тестов удручающие. Откровенно говоря, не ожидал...
Система: Проц. - Celeron 2.4, Память - 512 Мб
ОС: WinXP SP3
Файловая система: NTFS
Метод удаления: "в корзину" (для чистоты эксперимента после каждого удаления корзина чистилась)
Удаляемый каталог: 100 Мб, состоит из 2738 файлов и 16767 каталогов (а уж сколько файлов в этих каталогах - бог его знает, система офигивает подсчитывать)
Каждый менеджер тестировался дважды, цифры усредненные.
WinЕx - 0 мин. 50 сек. (изумление, апплодисменты)
FreeCommander - 3 мин. 30 сек (норма)
UC - 8 мин. 20 сек (так уж вышло)
TC - >10 мин. (больше 10 мин., точное время так и не зафиксировал, ибо достало ждать)

Как я и говорил, эксперимент повторял дважды для каждого файл-менеджера, и остаюсь при своем мнении, что UC, если и уступает в среднем скорости TC (в среднем, при удалении, копировании и т.д.), то ненамного. А при удалении каталога, содержащего большое кол-во файлов и каталогов, уж точно опережает. По крайней мере на моем компе.
tl431
Охотник за багами
Сообщения: 104
Зарегистрирован: Сб окт 20, 2007 1:29 am

Re: ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение tl431 »

sentry писал(а):Я наверное огорчу сторонников TC, но результаты тестов удручающие. Откровенно говоря, не ожидал...
Метод удаления: "в корзину" .
Не огорчишь.
1. Вопрос касался удаления с диска,а не в корзину, о чем было вполне недвусмысленно написано в шапке.
2. Эксперимент твой наверняка не чистый, с включенным логгированием в ТС и выключенным в UC.
3. TC имеет привычку очень часто обновлять имя текущего файла, и отображение этого тормозит процесс. Достаточно его свернуть, и все пойдет быстрее.

У меня есть замечание к утилите. Запустил как стояло по умолчанию, создать 100мб, она мне создала 199 (209641182 байта) (по данным эксплорера). на диске соотв. 302366720 байт. 41311 файлов , 89076 каталогов (списано из свойств в эксплорере).

удаление с диска
UC 1:54
TC 2:22 (не вычитая время на перезапросы "действительно удалить все?", "действительно удалить системные?")

логгирование в обоих ФМ отключено.оба не сворачивал.
Антивирус Avira Antivir деактивирован. винт Seagate 7200.11 SATA c кэшем 32мб, мать поддерживает только SATA150 и никаких NCQ. проц Pentium D820, памяти 2 гига, хотя это ,имхо, по барабану. OC WinXP SP3 нетвиканная, в родном мелкософтовском состоянии. Фоновые сервисы не отключал, это перебор.
sentry
Охотник за багами
Сообщения: 102
Зарегистрирован: Пт окт 19, 2007 9:10 am

Re: ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение sentry »

tl431 писал(а):1. Вопрос касался удаления с диска,а не в корзину, о чем было вполне недвусмысленно написано в шапке...
Действительно, мой косяк. Дело было ночью, хотелось спать, вот и упустил важный момент. Сегодня перепроверю.
tl431 писал(а):2. Эксперимент твой наверняка не чистый, с включенным логгированием в ТС и выключенным в UC. ...
Логирование - это вещь, которую я первым делом выключаю во всех установленных мною прогах.
tl431 писал(а): 3. TC имеет привычку очень часто обновлять имя текущего файла, и отображение этого тормозит процесс. Достаточно его свернуть, и все пойдет быстрее...
Ты прав. Спасибо. Возьму к сведению. Перепроверю.
tl431 писал(а):удаление с диска
UC 1:54
TC 2:22 (не вычитая время на перезапросы "действительно удалить все?", "действительно удалить системные?")...
И хотя мною в ходе экспериментов допущены косяки, но похоже в главном-то мы сходимся - UC шустрее удаляет, чем TC.
Diff
Сообщения: 109
Зарегистрирован: Вт янв 29, 2008 4:44 pm

Re: ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение Diff »

главном-то мы сходимся - UC шустрее удаляет, чем TC.
Ориентироваться надо на лучший результат, а не на худший. Если операцию можно выполнить за 50 секунд - нет никаких причин выполнять ее за три или восемь минут. И то, что кому-то нужно больше 10 минут - поводом для радости служить никак не может. Между 50 секундами и 8:20 минутами разница - ровно в 10 раз. Не бывает оправдания для десятикратной разницы в производительности.

20 мегабайт 4000/9000, C2D 2.13, NTFS, корзина отключена.

Обнаружил, что у меня стояла старая версия, обновил - и ...

Windows Explorer 14 сек
Frigate 4 сек
Unreal Comander b093 64 сек
Unreal Comander b094 8 сек

Респект автору, стало действительно быстрее.

ЗЫ: Может, спросить разработчиков Фрегата, как они удаление делали? Он тоже на дельфях написан :).
Аватара пользователя
Inpharhus
Охотник за багами
Сообщения: 89
Зарегистрирован: Пт апр 04, 2008 1:49 pm
Откуда: г. Таганрог

Re: ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение Inpharhus »

100 метров, 20623 файла, 44617 папок
Сначала НЕ выключил антивирус (Avast):
UC: 8м25с
Потом выключил и тестировал при выключенном:
UC_b679: 10м13с (странно, учитывая что антивир выключен, возможно на скорость удаления влияет еще что-то)
TC_7.04: 7м31с
Explorer: 8м41с
Как видно, в моем случае принципиальной разницы в скорости нет.
Комп: десктоп, Intel Core2Duo E8400 3GHz, 4 гига ОЗУ, Windows XP x64 SP2.
Core2Duo E8400 3GHz, 4Gb RAM, WinXP x64 SP2
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3430
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

sentry писал(а):Метод удаления: "в корзину" (для чистоты эксперимента после каждого удаления корзина чистилась)
WinЕx - 0 мин. 50 сек. (изумление, апплодисменты)
FreeCommander - 3 мин. 30 сек (норма)
UC - 8 мин. 20 сек (так уж вышло)
TC - >10 мин. (больше 10 мин., точное время так и не зафиксировал, ибо достало ждать)
Хочу пояснить причину долгого удаления в корзину у Uncom и TC... для того, чтобы программа могла отобразить уровень выполнения задания, то есть процент удаленных файлов, необходимо это удаление производить для каждого файла отдельно. То есть удаление в корзину производится через вызов системных функций. Соответственно вызов функции для каждого файла снижает скорость удаления. Теоретически сам Windows должен бы использовать ту же функцию, но складывается ощущение что у него есть какая-то персональная функция, которую он не дает использовать другим программам. При этом даже странно что FreeCommander производит удаление дольше чем сам Windows через Explorer, так как фактически у FreeCommander'а "своих" функций удаления нет, он банально использует удаление средствами системы.
Я решил в новую версию добавить опцию "Удаление в корзину целыми каталогами", то есть не отдельными файлами. Так удаление будет происходить действительно быстрее, но недостаток в том, что прогресса удаления при этом отображаться не будет... и отменить задание не получится. Вот уж не знаю, понравится ли этот "быстрый" способ удаления в корзину тем, кому не нравится медленный.

tl431 писал(а):У меня есть замечание к утилите. Запустил как стояло по умолчанию, создать 100мб, она мне создала 199 (209641182 байта) (по данным эксплорера). на диске соотв. 302366720 байт. 41311 файлов , 89076 каталогов (списано из свойств в эксплорере).
Утилитка написана за несколько минут и я не сильно проверял ее на корректность работы, лишь указав 20 мегабайт в качестве необходимого объема файлов удостоверился что прогрессбар прошел от начала до конца и измерил получившийся каталог. Вообще создавать больше указанного количества она не должна бы... с прогрессбаром обнаружились проблемы, я их подправил и выложил обновленный ее вариант.
sentry
Охотник за багами
Сообщения: 102
Зарегистрирован: Пт окт 19, 2007 9:10 am

Re: ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение sentry »

Перепроверил...
Система: Проц. - Celeron 2.4, Память - 512 Мб
ОС: WinXP SP3
Файловая система: NTFS
Метод удаления: "с диска"
Удаляемый каталог: 25 Мб, состоит из 669 файлов и 4316 каталогов
WinЕx - 65 сек. (изумление, непонятки... каталог весом 100 Мб ("в корзину") и 25 Мб ("с диска") удаляются одинаково - примерно 1 мин (проверял дважды))
UC - 18 сек.
TC - 25 сек. (но тратилось несколько секунд на подтверждения - "действительно удалить все?", "действительно удалить системные?"..., и пришлось быстро-быстро сворачивать окно процесса удаления - это не дело, еще один "+" UC - в "юзабельности")
Diff
Сообщения: 109
Зарегистрирован: Вт янв 29, 2008 4:44 pm

Re: ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение Diff »

И еще один тест, на этот раз на довольно слабой машине.
Ноут Toshiba M1, Pentium M 1400, 512, WinXP SP2, NTFS.
57 MB.

Код: Выделить всё

Unreal Commander :  175 s
Frigate:            50 s
Explorer:           105 s
Far :               43 s
По-моему, тенденция ясная: чем мощнее железо, тем ближе UC к конкурентам. На слабом - отставание в разы.
MiceRus
Сообщения: 103
Зарегистрирован: Чт сен 11, 2008 3:06 pm

Re: ТЕСТИРОВАНИЕ: Замерим скорость удаления файлов

Сообщение MiceRus »

Diff писал(а):
главном-то мы сходимся - UC шустрее удаляет, чем TC.
ЗЫ: Может, спросить разработчиков Фрегата, как они удаление делали? Он тоже на дельфях написан :).
Если кто помнит такой продукт как DOS Navigator, вспомните как там осуществлялось удаление при выставлении галочки Прямой доступ к диску :)
Ему было до лампочки сколько файлов в каталоге.
Ответить