Главная страница
    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.45 MB
Время: 0.005 c
1-1218117173
RAndrey
2008-08-07 17:52
2009.10.04
Access Violation в потоке


15-1249012794
brother
2009-07-31 07:59
2009.10.04
С Днем системного администратора!


3-1227530650
maxbog
2008-11-24 15:44
2009.10.04
Проблема с исходником Delphi


2-1249369462
hoper
2009-08-04 11:04
2009.10.04
mcrypt в delphi


2-1248593200
xyz
2009-07-26 11:26
2009.10.04
обновление DBLookupListBox не работает





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский