Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Организовать правильную работу с потоками... [Delphi, Windows]


andreil ©   (2008-03-05 16:55:00) 

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

Вопрос - можно ли перевести кусок данных из одного FileStream в другой FileStream без промежуточного буфера? А то прога ворочает гигабайты, но скорость из-за нагрузки на процессор страдает.


andreil   (2008-03-18 12:29:00) [1]

Чуть не забыл сказать - у программы есть одно небольшое ограничение - чтение/запись происходят кусками по 8Кб, иначе нельзя, тк файл может быть фрагментирован. Например, раньше читалось по 521Кб, скорость была максимальная, но если попадался фрагментированный GCF-архив, из которого файлы и читаются, то стразу файлы поганятся, тк оказывается, что один кусок брали отсюда, а другой - оттуда, а надо было с третьего места :(


andreil   (2008-03-18 12:26:00) [2]

Да, поюал Stream2Stream. Файлик размером 55Мб копирнуло за 10секунд, и это - на САТА2 винчестерах, где скорость - 40Мб/с :(
А если еще расскоментировать код, отвечающий за внешний вид программы во время копирования, то вообще этот файл копирует за минуту :(


mdw   (2008-03-12 14:57:00) [3]


> CopyFrom у FileStream есть?

Stream2Stream(..)


Palladin   (2008-03-12 12:45:00) [4]

CopyFrom у FileStream есть?


Наверх

Титульная страница Поиск, карта сайта Написать письмо