![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 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 |
|||
|
||||
| Vit |
|
|||
![]() 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 |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
А по сколько качает винда?
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Vit |
|
|||
![]() 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 |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Хех...придется её снифить
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |