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

Вниз

Файлы отображенные в память   Найти похожие ветки 

 
Unknowing ©   (2006-07-20 10:02) [0]

Доброго времени суток!! Прошу помочь с сылками на информацию про сабж! Спасибо!


 
Stakan ©   (2006-07-20 10:11) [1]

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/file_mapping.asp


 
Amoeba ©   (2006-07-20 10:39) [2]

В кладовке есть модуль для работы с такими файлами (mappingfile.zip):
http://kladovka.net.ru/index.cgi?pid=dir&rid=8&ppn=2


 
Fay ©   (2006-07-20 11:00) [3]

Модуль так себе. Фигня.


 
Amoeba ©   (2006-07-20 11:03) [4]


> Fay ©   (20.07.06 11:00) [3]
> Модуль так себе. Фигня.

Вполне возможно. Я его не скачивал и код соответственно  не смотрел.


 
unknowing ©   (2006-07-20 11:11) [5]


> Amoeba ©   (20.07.06 10:39) [2]

Спасибо, общие знания есть. Хотелось бы конкретные примеры работы на Delphi(в частности, как данные из файла считывать в записи...)

> Amoeba ©   (20.07.06 10:39) [2]


> Fay ©   (20.07.06 11:00) [3]

Спасибо, модуль гляну


 
IceBeerg ©   (2006-07-20 11:19) [6]

А www.yandex.ru и CreateFileMapping набрать...


 
unknowing ©   (2006-07-20 11:22) [7]


> IceBeerg ©   (20.07.06 11:19) [6]

Есть с этим проблемы (ограничено время нахождения в сети)! Да и, может, у мастеров наработки есть


 
Fay ©   (2006-07-20 11:36) [8]

unknowing ©   (20.07.06 11:22) [7]
Какие ещё наработки нафинг?


 
Amoeba ©   (2006-07-20 11:47) [9]


> unknowing ©   (20.07.06 11:22) [7]
>
> > IceBeerg ©   (20.07.06 11:19) [6]
>
> Есть с этим проблемы (ограничено время нахождения в сети)!
>  Да и, может, у мастеров наработки есть

Если интересно, по могу, но только завтра (нужно взять из дома) выслать один компонентик (не моей разработки), инкапсулирующий работу с отображаемыми в память файлами.


 
unknowing ©   (2006-07-20 12:15) [10]


> Amoeba ©   (20.07.06 11:47) [9]

Буду глубоко признателен!!! mail to: merkd@yandex.ru


> Fay ©   (20.07.06 11:36) [8]

Конкретная моя задача: считываю нетипизированный файл (BlockRead) и записываю на его основе 4 текстовых таблицы 20х20000 посредством WrtiteLn(file, param1:8, param2...). Получается довольно медленно :( Известно, что отображением было бы быстрее, а как не известно. Вот!


 
Fay ©   (2006-07-20 13:03) [11]

2 unknowing ©   (20.07.06 12:15) [10]
> Получается довольно медленно
Сделайте быстро.


 
unknowing ©   (2006-07-20 13:42) [12]


> Fay ©   (20.07.06 13:03) [11]

Забавно!! Я и пытаюсь узнать как это сделать!!!!!


 
Fay ©   (2006-07-20 14:04) [13]

2 unknowing ©   (20.07.06 13:42) [12]
Где медленный код?


 
han_malign ©   (2006-07-20 14:08) [14]


> Получается довольно медленно

- при последовательном чтении, FileMapping тебе ничем не поможет, даже может быть медленнее(если весь файл целиком не влезает, и приходится "двигать окно"(UnmapViewOfFile/MapViewOfFile)).

FileMapping - даст премущество, только в случае чтения и записи по произвольным(непоследовательным) смещениям в ограниченном участке файла(ограниченном размером доступной нефрагментированной виртуальной памяти(см. MapViewOfFile)).


 
unknowing ©   (2006-07-20 14:11) [15]

while Counter<>NumberOfRecords do
begin
  //-----------------------чтение данных-----------------------------//
     BlockRead(File, file_data, SizeOf(file_data), NumRead);
  //-----------------------------------------------------------------//

   Writeln(mc_Table,  
   param1:7:1,
   param2:8:1,
   ...
   param20:7:3);

  Writeln(rc_Table,  
   param1:7:1,
   param2:8:1,
   ...
   param20:7:3);
Writeln(fc_Table,  
   param1:7:1,
   param2:8:1,
   ...
   param20:7:3);
Writeln(gc_Table,  
   param1:7:1,
   param2:8:1,
   ...
   param20:7:3);

   Inc(Counter);

end;


 
Fay ©   (2006-07-20 15:02) [16]

не вижу достойного места для сабжа


 
unknowing ©   (2006-07-20 15:17) [17]


> Fay ©   (20.07.06 15:02) [16]

Понимать как: все и так сойдёт??


 
Fay ©   (2006-07-20 15:38) [18]

2 unknowing ©   (20.07.06 15:17) [17]
> Понимать как: все и так сойдёт??
Да хрен его знает! Что именно происходит медленно? Как именно "медленно" (что, сколько, как долго)?


 
unknowing ©   (2006-07-21 10:57) [19]


> Fay ©   (20.07.06 15:38) [18]

Ну, запись таблиц медленно. Это очевидно. Кол-во строк - 20000 выполняется ~5 sec на Pentium 3000 ГГц с RAM 1 ГГб и диском SATA.


 
Amoeba ©   (2006-07-21 11:17) [20]


> unknowing ©   (20.07.06 12:15) [10]
>
> > Amoeba ©   (20.07.06 11:47) [9]
>
> Буду глубоко признателен!!! mail to: merkd@yandex.ru

Уже послано.


 
unknowing ©   (2006-07-21 11:27) [21]


> Amoeba ©   (21.07.06 11:17) [20]

Спасибо огромное!! Щас посмотрю



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

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

Наверх




Память: 0.51 MB
Время: 0.037 c
15-1152231748
Жаждущий помощи
2006-07-07 04:22
2006.08.06
Что неправильно?


2-1152823256
Footballer
2006-07-14 00:40
2006.08.06
И снова "открыть с помощью..."


2-1153104346
koha
2006-07-17 06:45
2006.08.06
Как программно узнать версию собственной программы


15-1152619036
Gorlum
2006-07-11 15:57
2006.08.06
Интересует как можно больше информации


2-1152886626
дмитрий _делфи
2006-07-14 18:17
2006.08.06
делаю игру. надо сделать пульки.