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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-99124
iNew
2002-12-18 09:26
2002.12.30
Использую ф-ию windows.Beep(16000,15000), но какое бы число


1-99099
TsaturSoft
2002-12-18 08:36
2002.12.30
???


4-99415
shu_3d
2002-11-13 12:21
2002.12.30
Неправильные размеры при рисовании через winAPI


6-99226
Vadimka
2002-10-31 23:02
2002.12.30
Перехват из сети www-адреса, запрашиваемых пользователями


14-99249
Misha
2002-12-11 10:36
2002.12.30
Как перенести файл БД с одного компа на другой