The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Закачка файла в оперативу"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Закачка файла в оперативу"  
Сообщение от iliaparen (ok) on 29-Сен-08, 14:54 
Здравствуйте.
Задача состоит в работе с текстовым файлом среднего размера (2-10мб).
Так как работать надо быстро, доступ к файлу через диск отметается.
Слышал, что можно весь файл закачать в оперативу и уже там работать с ним как с массивом и это намного быстрее.
Подскажите пожалуйста, как это можно сделать.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "отображение..."  
Сообщение от Andrey Mitrofanov on 29-Сен-08, 15:13 
>Слышал, что можно весь файл закачать в оперативу и уже там работать
>с ним как с массивом и это намного быстрее.

Видимо, до Вас доходили слухи про mmap() - http://www.opennet.dev/man.shtml?topic=mmap

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Закачка файла в оперативу"  
Сообщение от SeLarin email(??) on 29-Сен-08, 16:22 
А что мещает выделить память, скопировать туда содержимое файла, работать с ним в памяти, а после завершения работы скопировать содержимое памяти обратно в файл?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Закачка файла в оперативу"  
Сообщение от iliaparen (ok) on 29-Сен-08, 17:07 
>А что мещает выделить память, скопировать туда содержимое файла, работать с ним
>в памяти, а после завершения работы скопировать содержимое памяти обратно в
>файл?

Просто malloc()?
Не мог бы ты привести пример копирования.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Закачка файла в оперативу"  
Сообщение от vic (??) on 29-Сен-08, 19:49 
>>А что мещает выделить память, скопировать туда содержимое файла, работать с ним
>>в памяти, а после завершения работы скопировать содержимое памяти обратно в
>>файл?
>
>Просто malloc()?
>Не мог бы ты привести пример копирования.

man fread/fwrite
or
man mmap

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру