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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прога по скаче файлов дубль2, Или про размер буфера... 
:(
    Опции темы
Baa
Дата 10.6.2002, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

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



Вот есть моя качалка файлов через НетБиос... Шло там такое действо:
var Temp : array [0..$FFFF] of Byte;
...
while Stream.Size <> Stream1.Size do
 begin
   if ( Stream.Size - Stream1.Position ) < sizeof (Temp) then
     begin    
       Stream1.CopyFrom ( Stream, Stream.Size - Stream1.Position );
     end else Stream1.CopyFrom(Stream,sizeof(Temp));
 end;
вот, терь собственно вопрос, Какой оптимальный размер буфера? т.е. по сколько байт за раз копировать? Также есть другой вариант - в нескольких потоках копировать файл из разных мест, но вот опять ж проблема, по сколько байт? Вот какой вариант лучше? Тут 2 версии: чем больше размер копируемой за один цикл информации, тем больше ошибок при передаче, но больше скорость, также меньше точность при измерении скорости передачи информации. и соответственно, чем меньше размер копируемой за один цикл информации, тем меньше ошибок, больше точность и т.д. , но меньше скорость, что существенно, потому как прога-то качалка :)


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Vit
Дата 10.6.2002, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Только экспериментальным путем - одно дело у тебя компы соединены 10 Mb карточками и десяток их включен в один hub - так что у тебя 100 метров ночь качаются, другое дело компьютеры соединены оптоволокном и скорость трансфера больше чем скорость чтения с винта... С локального компьютера оптимальный размер буфера для файлового потока мной определялся как что-то между 64K и 512K. Опять таки размер RAM если у тебя 32 метра то даже метровый буфер приведет к сильному свопированию и замедлению работы, а если памяти немерянно то на скорость этот показатель не будет влиять. Я предлагаю экспариментировать - попробуй посчитай скорость на разной концигурации и разном размере буфера и найди приблизительную зависимость скорости от этих параметров, а в программе в зависимости от скорости и размера памяти меняй размер буфера исходя из найденной закономерности.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Baa
Дата 10.6.2002, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

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



А по сколько качает винда?


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Vit
Дата 10.6.2002, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Я читал где-то, что размеры пакетов где-то в реестре закопаны. По умолчанию качает по-моему очень небольшими пакетами.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Baa
Дата 10.6.2002, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

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



Хех...придется её снифить :( мне кажется, что там где-то 32 кб


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


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

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


 




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


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

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