Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Быстрое копирование большого количества файлов 
V
    Опции темы
northener
Дата 3.5.2012, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: нет
Всего: 20



Цитата(XperT @  3.5.2012,  00:11 Найти цитируемый пост)
Тему можно считать закрытой. 

Для вас да. А вот меня она заинтересовала. Ибо скорость копирования - это скорость копирования не более того. Тем более, что скорость копирования зависит ещё и от конфигурации компьютерного железа. А вот время выполнения копирования функцией SHFileOperation мне гораздо более интересно. Как, когда и от чего это время зависит?


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
XperT
Дата 3.5.2012, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 269
Регистрация: 19.8.2006

Репутация: 1
Всего: 4



Цитата(northener @ 3.5.2012,  00:32)
Цитата(XperT @  3.5.2012,  00:11 Найти цитируемый пост)
Тему можно считать закрытой. 

Для вас да. А вот меня она заинтересовала. Ибо скорость копирования - это скорость копирования не более того. Тем более, что скорость копирования зависит ещё и от конфигурации компьютерного железа. А вот время выполнения копирования функцией SHFileOperation мне гораздо более интересно. Как, когда и от чего это время зависит?

Ну если разберетесь - буду рад услышать решение. К сожалению у меня проект стоял пока я этим копированием занимался и пришлось удовлетворятся тем, что имел (тем более, что производительность та же, да и с отловом ошибок при копировании большого количества файлов проще).

Это сообщение отредактировал(а) XperT - 3.5.2012, 00:35
PM MAIL   Вверх
northener
Дата 3.5.2012, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: нет
Всего: 20



Цитата(XperT @  3.5.2012,  00:35 Найти цитируемый пост)
Ну если разберетесь - буду рад услышать решение.

Ну тогда помогите мне задать начальные условия для проверки. Как вы формировали список из 30000 файлов для копирования? 
1. В случае копирования через проводник 
2. В случае копирования через вашу программу


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
XperT
Дата 3.5.2012, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 269
Регистрация: 19.8.2006

Репутация: 1
Всего: 4



Есть папка с файлами (пробовал по разному: и с подпапками, и все картинки в одной папке - разницу не заметил). В папке находятся аватарки в большом количестве (по сути большое количество маленьких файлов)

1. В проводнике: выделяю папку -> Ctrl+C -> открываю другую папку (на другом диске) -> Ctrl+V
2. В программе: парсится папка с файлами -> формируется список файлов -> отправляется в функцию копирования файлов

Замер скорости копирования во втором случае начинается с момента появления окошка копирования (т.е. исключается время парсинга списка файлов).
PM MAIL   Вверх
Keeper89
Дата 3.5.2012, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 14
Всего: 58



Ну ты в одном случае копируешь папку, а в другом список файлов. Что если попробовать делать копии одного и того же, например папку в обоих случаях?


--------------------
PM MAIL WWW   Вверх
XperT
Дата 3.5.2012, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 269
Регистрация: 19.8.2006

Репутация: 1
Всего: 4



Дело в том, что в некоторых случаях программа должна копировать не все файлы, а в некоторых даже не все файлы в одну папку, потому интересовал универальный способ быстрого копирования
PM MAIL   Вверх
northener
Дата 3.5.2012, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: нет
Всего: 20



Цитата(XperT @  3.5.2012,  22:02 Найти цитируемый пост)
Дело в том, что в некоторых случаях программа должна копировать не все файлы, а в некоторых даже не все файлы в одну папку, потому интересовал универальный способ быстрого копирования 

Вот почему я и спросил "Как вы формировали список из 30000 файлов для копирования?".
Продолжаю настаивать на том, что нужно разобраться в причинах того самого зависания.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Keeper89
Дата 4.5.2012, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 14
Всего: 58



Цитата(XperT @  3.5.2012,  22:02 Найти цитируемый пост)
Дело в том, что в некоторых случаях программа должна копировать не все файлы, а в некоторых даже не все файлы в одну папку, потому интересовал универальный способ быстрого копирования 

Все-таки сравнивать нужно одни и те же вещи - проводник копирует папку, и в программе копируем папку. Также и с файлами - если формируем список сами, также сделать и в проводнике если получится. Уверен, что результаты будут при прочих равных условях одинаковыми.


--------------------
PM MAIL WWW   Вверх
XperT
Дата 4.5.2012, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 269
Регистрация: 19.8.2006

Репутация: 1
Всего: 4



Проводник:
1. Зашел в папку с картинками, выделил все файлы, копировал - произошла задержка на 5 сек
2. Открыл папку назначения, Ctrl + V,  произошла задержка в 3 сек для оценки и сразу запустилось копирование
3. Процесс копирования длился 3 мин 15 сек
4. Под конец копирования никаких зависаний не было, окно сразу же закрылось

Итого: немного медленее чем при копировании папки, но всё равно на много быстрее чем через SHFileOperation
PM MAIL   Вверх
Keeper89
Дата 4.5.2012, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 14
Всего: 58



Мне прям интересно стало, надо вечером вбить, попробовать


--------------------
PM MAIL WWW   Вверх
XperT
Дата 4.5.2012, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 269
Регистрация: 19.8.2006

Репутация: 1
Всего: 4



Есть подозрение, что в Вин7 проводник использует другую WinAPI функцию для копирования (которая появилась только в висте или 7).
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0610 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.