Главная страница
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.016 c
1-86403
Equilebriya
2003-12-14 05:46
2003.12.26
Форматирование текста при печати


14-86494
Lola
2003-12-04 19:20
2003.12.26
Нужно жилье в Москве


3-86282
scorpi
2003-12-02 14:29
2003.12.26
Добавление поля в таблицу


1-86405
Markus
2003-12-14 23:42
2003.12.26
компонент TstringGrid


3-86252
Ломброзо
2003-12-02 23:29
2003.12.26
Соединение с MS SQL по TCP-порту, отличному от 1433