Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.013 c
2-1153054681
UMU
2006-07-16 16:58
2006.08.06
При изменении разрешения экрана...


2-1153304728
Exile
2006-07-19 14:25
2006.08.06
Length


4-1145215733
cerber
2006-04-16 23:28
2006.08.06
Открыть порт "DOT4_001"


15-1152129774
Имя не скажу
2006-07-06 00:02
2006.08.06
Проблема больших целых чисел


2-1153305481
Officeman
2006-07-19 14:38
2006.08.06
LIstBox mouseMove => selected items





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