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

Вниз

Быстрая запись на винт   Найти похожие ветки 

 
LAMA3OID   (2003-10-15 15:34) [0]

Нужно очень быстро записать большой файл на винт (несколько сот метров). Из извесных мне способов быстрее всего работает writeln :) (я пробовал 8 способов).
В факе на каком-то сайте я читал, что есть какой-то способ быстрой записи (было написанно про запись минуя оперативку или что-то в этом роде)
Может кто нибудь знает как это сделать ?


 
Reindeer Moss Eater ©   (2003-10-15 15:43) [1]

было написанно про запись минуя оперативку или что-то в этом роде

А где находится ТО, что ты хочешь записать в файл "минуя оперативку" ?


 
Wizard_Ex ©   (2003-10-15 16:07) [2]

Попробуй так, по крайней мере так быстрее чем сразу писать на диск, причем намного

MemoryStream := TMemoryStream.Create;
{чегото пишешь}
MemoryStream.Write...
{чегото пишешь}

FileStream := TFileStream.Create(AFileName, fmCreate);
FileStream.CopyFrom(MemoryStream, 0);
FileStream.Free;
MemoryStream.Free;


 
Игорь Шевченко ©   (2003-10-15 16:54) [3]

Из известных способов быстрее всего работает команда copy


 
Mystic ©   (2003-10-15 17:36) [4]

CreateFile с отключеной буферизацией...


 
panov ©   (2003-10-15 18:11) [5]

Norton GHost


 
Александр Спелицин ©   (2003-10-16 15:04) [6]

Если только для NT/2k/Xp, то через порты завершения ввода-вывода. Есть в примерах к MSDN.


 
LAMA3OID   (2003-10-16 16:47) [7]

2 Mystic: Это как ?

2 Reindeer Moss Eater:
Да, я как-то не подумал, что в оперативке и находится...
Просто так было написанно...

2 Игорь Шевченко: Что за copy ?

2 panov: Что это за GHost ?

2 Wizard_Ex: Спасибо ! Попробую...


 
dva ©   (2003-10-20 04:57) [8]

Нужно очень быстро записать большой файл на винт (несколько сот метров). Из извесных мне способов быстрее всего работает writeln :) (я пробовал 8 способов).

Неплохо было бы привести список из этих восьми способов, дабы не повторяться при ответах. Есть ли среди них способ, используемый в Excel и Access ? Команда copy тоже дает неплохие результаты - правильно тебе советуют.


 
_Narayan_   (2003-10-21 15:28) [9]

у меня в книжке целая глава посвящена вопросу :
"Использование асинхронного ввода и вывода"

Есть примеры в электронном виде, но они на С++


 
Wizard_Ex ©   (2003-10-21 16:27) [10]

to
> dva © (20.10.03 04:57) [8]


Интересно а что это за способ используемый в Excel и Access?


 
icebeerg ©   (2003-10-21 18:47) [11]

procedure BlockWrite(var f: File; var Buf; Count: Integer [; var
AmtTransferred: Integer]) тоже пробовал?


 
LAMA3OID   (2003-10-22 15:22) [12]

2 icebeerg: Пробовал.
2 dva: А как в эксэле и ацессе это делается ? И как при помощи
copy это сделать ?
2 _Narayan_: Давай хоть на "Си". Мыло - LAMA3OID@ukr.net



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

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

Наверх




Память: 0.49 MB
Время: 0.017 c
3-86289
introvert
2003-12-02 19:21
2003.12.26
IB: TRIGGER DOESN T WORK


4-86597
mm0
2003-10-31 17:00
2003.12.26
Как свернуть?


9-86239
xman
2003-06-06 11:01
2003.12.26
DelphiX - systemmemory


1-86364
AlexNx
2003-12-15 17:35
2003.12.26
Modal or not Modal


1-86343
vladislav80
2003-12-15 17:36
2003.12.26
TCustomDrawGrid на TCustomPanel в design-time