Come caricare file di testo in file mappati in memoria

1

Ho un numero di file di testo di grandi dimensioni che devo manipolare in modo altamente performante. Ho deciso di utilizzare i file Memory Mapped in C # (.NET 4). Tuttavia, non riesco a trovare alcun esempio o guida su come leggere / scrivere su un file mappato in memoria che, in basso, è associato a un file di testo. Qualcuno può far luce su questo e, possibilmente, fornirmi qualche esempio?

Se è utile, leggerò il testo su intere righe, quindi modificherò la riga e la sostituirò con contenuti che potrebbero essere più corti o più lunghi dell'originale. Dopo che tutte le manipolazioni sono state fatte, voglio salvarlo su disco come file di testo.

    
posta JoeGeeky 02.12.2011 - 09:47
fonte

1 risposta

5

Non penso che guadagnerai molto, se non altro, nelle prestazioni, utilizzando file mappati in memoria invece di eseguire l'elaborazione normale dei file di testo. Dal momento in cui si modifica la lunghezza di una singola riga anche solo di un byte, il resto del file dovrà essere letto, spostato di un byte e riscritto sul disco. Dal punto di vista di I / O, questo è equivalente alla normale elaborazione di file di testo: leggere una riga, modificarla, scriverla, ripetere. E il mal di testa di dover fare da solo tutta l'elaborazione del testo probabilmente non vale la pena.

Hai stabilito una metrica di rendimento accettabile per il tuo sistema?

Hai provato il normale approccio di elaborazione dei file di testo e hai trovato che supera questa metrica prima di iniziare a cercare una soluzione più efficiente?

    
risposta data 02.12.2011 - 11:12
fonte

Leggi altre domande sui tag