PDA

View Full Version : [C] Memory map


Unrue
22-11-2009, 11:17
Ciao a tutti,
ho un applicativo che fa uso intenso di letture/scritture da disco. Per ridurre i tempi di accesso avevo pensato di utilizzare una memory map.

Dopo aver letto la guida perņ:

http://www.gnu.org/s/libc/manual/html_node/Memory_002dmapped-I_002fO.html

Non ho ben capito che vantaggi ci siano rispetto al caricare l'intero file in memoria in una struttura dati adeguata e poi accedervi.

Qualcuno puņ chiarirmi questo aspetto?

Grazie in anticipo.

marco.r
22-11-2009, 14:20
Non ho ben capito che vantaggi ci siano rispetto al caricare l'intero file in memoria in una struttura dati adeguata e poi accedervi.

Caricare tutto un file in memoria non e' praticabile se il file e' di grosse dimensioni (qualche decina di GB ad esempio, immagina il rip di un blue-ray). Se non e' possibile leggerlo man mano l'alternativa e' mapparlo in memoria. E' piu' semplice di utilizzare direttamente il descrittore del file, anche se le performance dipendono da come lo gestisce il s.o. e il pattern d'uso.

fero86
24-11-2009, 12:08
Caricare tutto un file in memoria e' praticabile se il file e' di grosse dimensioni non é praticabile ^^

marco.r
25-11-2009, 09:39
non é praticabile ^^

grazie :D, ho corretto l'errore.