![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как быстро скопировать 500 маленьких файлов [D7, WinXP]
lessard © (2006-09-06 10:46:00)Есть 500-600 файлов по 5-6 Кбайт каждый. Как ОЧЕНЬ БЫСТРО скопировать эти файлы в другое место? PS: Место - в сети.... и занимает эта процедура 5-10 сек., надо меньше...
Skyle (2006-09-06 12:16:00) [41]Логично, что большие копируются быстрее.
Теперь нужно либо распараллелить копирование, либо сделать из них один файл.. Других вариантов как-то нету.
DiamondShark (2006-09-06 12:16:00) [42]
> так большие быстрее копируются...
не быстрее.
у них просто отношение (накладные расходы)/(копирование тела) меньше.
Что естественно, т.к. для открытия сетевого файла надо надо довольно много подёргаться.
Как вариант, можно написать сетевой сервис, который будет кучу мелких файлов одним потоком отдавать.
Сэкономится на служебных операциях с каталогом по сети.
StriderMan (2006-09-06 12:16:00) [43]
> Задача: readfrom LAN -> writeto LOCAL -> обработка/изменение/
> -> writeto LAN -> readfrom LAN ...и так далее.
мне кажется тут так и напрашивается поместить твою прогу на ту машину где файлики лежат.
lessard (2006-09-06 12:13:00) [44]локально - 10-12 секунд, если пользоваться виндовыми методами
а я и говорю что кратно файлы там есть сйечас от 4 до 200 кбайт, так большие быстрее копируются...
Skyle (2006-09-06 12:10:00) [45]А я бы попробовал по 4 кб или кратно.
сколько времени занимает скопировать это локально?
lessard (2006-09-06 11:53:00) [46]10, 20 и 50 кбайт в зависимости от формата файла
Skyle (2006-09-06 11:49:00) [47]
> Blockread/blockwrite не превнесли особого ускорения
А какой размер блока?
lessard (2006-09-06 11:40:00) [48]Всем:
Задача: readfrom LAN -> writeto LOCAL -> обработка/изменение/ -> writeto LAN -> readfrom LAN ...и так далее.
Blockread/blockwrite не превнесли особого ускорения. разница в 0,1283 секунды по сравнению с просто copyfile. Тут непонятно - 1,55 гб файл скопировался за 16 секунд...
StriderMan (2006-09-06 11:36:00) [49]
> Elen © (06.09.06 11:28) [16]
> BlockRead,BlockWrite вроде самые быстрые. Но это еще от
> сети зависит
CopyFileсамый быстрый. Быстрее ось не умеет по определению.
Разве что на низком уровне с винта читать, но эта задача ох как нетривиальна, тем более под виндами.
Elen (2006-09-06 11:28:00) [50]
> lessard
BlockRead,BlockWrite вроде самые быстрые. Но это еще от сети зависит
Skyle (2006-09-06 11:26:00) [51]Опиши задачу.
Теперь получается, что нужно тянутьс сетевого диска, а не толкатьв сеть, а это принципиально другое.
evvcom (2006-09-06 11:23:00) [52]> [7] lessard (06.09.06 11:13)
А... Вот почему не хочет! Так тебе ж по-русски пишет рар "Зарегистрируйтесь!" Или ты думаешь тебе сейчас здесь начнут объяснять, как надо рар сломать?
Плохиш (2006-09-06 11:19:00) [53]
> lessard (06.09.06 11:14) [11]
Задавай вопрос в правильной конференции и тогда к тебе будут относиться по правилу "Просьба к участникам быть взаимовежливыми, профессионалам отдельная просьба - быть снисходительными."
PSPF2003 (2006-09-06 11:18:00) [54]Удалено модератором
lessard (2006-09-06 11:14:00) [55]Удалено модератором
Плохиш (2006-09-06 11:14:00) [56]
> и занимает эта процедура 5-10 сек., надо меньше
А что винчестеры уже мгновенно данные находят и отдают?
> lessard (06.09.06 11:09) [4]
> стандартным средствам, простите, не обучен
Ты забыл добавить, что сами вы не местные.
> rar архивировать зараза не хочет
Что, так и говорит "не хочу"?
PS. И для кого же конференцию "Начинающим" создали?
evvcom (2006-09-06 11:14:00) [57]> [8] evvcom © (06.09.06 11:13)
> Ещё варианты?
Обучиться.
evvcom (2006-09-06 11:13:00) [58]> [4] lessard (06.09.06 11:09)
> простите, не обучен
lessard (2006-09-06 11:13:00) [59]Удалено модератором
PSPF2003 (2006-09-06 11:12:00) [60]
> что значит "не хочет"?
Производная от не умею