Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.04;
Скачать: CL | DM;

Вниз

Организовать правильную работу с потоками...   Найти похожие ветки 

 
andreil ©   (2008-03-05 16:55) [0]

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

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


 
Palladin ©   (2008-03-12 12:45) [1]

CopyFrom у FileStream есть?


 
mdw ©   (2008-03-12 14:57) [2]


> CopyFrom у FileStream есть?

Stream2Stream(..)


 
andreil ©   (2008-03-18 12:26) [3]

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


 
andreil ©   (2008-03-18 12:29) [4]

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



Страницы: 1 вся ветка

Текущий архив: 2009.10.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
15-1249260855
Дмитрий С
2009-08-03 04:54
2009.10.04
В кипятке 4-5 минут.


2-1249111382
XcCCC
2009-08-01 11:23
2009.10.04
Эмуляция клика по ссылке


15-1249495859
tomkat
2009-08-05 22:10
2009.10.04
Активация Delphi 6


15-1249386581
b/@.
2009-08-04 15:49
2009.10.04
Тяжело ли переходить от одиночной разработки к колективной...


15-1249158604
Юрий
2009-08-02 00:30
2009.10.04
С днем рождения ! 2 августа 2009 воскресенье