Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Вниз

TFileStream vs BlockRead   Найти похожие ветки 

 
Yuri Btr   (2002-10-04 11:19) [0]

Ув. мастера, есть большой файл ~500 Мб (нетипизированый) его нужно обработать - перелопатить каждый байтик. Открывать его надо с правами типа fmShareDenyNone. В этом случае какой подход лучше использовать для чтения? Я так понимаю что разницы в скорости между TFileStream (Read) и BlockRead в буффер - никакой? Так ли это? Или есть ещё эффективней способ (типа отображаемых в память файлов)?
Заранее спасибо.


 
Игорь Шевченко   (2002-10-04 12:41) [1]

CreateFileMapping, MapViewOfFile


 
apay   (2002-10-20 17:16) [2]

Если чтение последовательное, то может лучше при его открытии в CreateFile использовать FILE_FLAG_SEQUENTIAL_SCAN (подробнее в хелпах)


 
Семеленов Валерий   (2002-10-25 11:42) [3]

; Я так понимаю что разницы в скорости между
; TFileStream (Read) и BlockRead в буффер - никакой?

По моим проверкам - TFileStream (Read) - быстрее.

Я вижу огромное преимущество TFileStream в том, что ты вместо работы с буфером, получаешь линейный массив без ограничений по размеру буфера.

Мы перевели работу с базами данных (постоянная запись с периодом менее 5 секунд) на файловый ввод-вывод используя TFileStream.

В результате получили 8-кратный выигрыш в скорости работы на том же компьютере (Cel 450).



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

Форум: "Система";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.032 c
14-99265
kronprince
2002-12-11 11:17
2002.12.30
Ненавижу разбирать чужие исходники !!!


1-99078
Кокандокало
2002-12-18 19:49
2002.12.30
Delphi портит иконки..


1-99076
tv
2002-12-19 15:58
2002.12.30
Стандартное PopupMenu в TRxRichEdit или TRichEdit


3-98954
Valeron
2002-12-09 16:47
2002.12.30
Чем можно просмотреть SQL команды DBE?


14-99351
hatchy
2002-12-11 12:42
2002.12.30
Надо что делать когда сам незнаешь как...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский