Главная страница
    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.44 MB
Время: 0.007 c
3-99005
volph7777
2002-12-10 11:38
2002.12.30
SQL-запрос с двух DBF-фпйлов


14-99251
Сатир
2002-12-10 17:46
2002.12.30
Из милицейских протоколов


1-99134
DrFaust
2002-12-18 12:54
2002.12.30
Умные окна


3-98948
Jony
2002-12-09 10:31
2002.12.30
Как вытащить сумму по столбцу из DBGridEh?


14-99269
NOV
2002-12-09 00:24
2002.12.30
DOA для DELPHI 6





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