Skip to content
Mbox Viewer

Parser in streaming

Una tecnica di analisi che legge un file in modo incrementale a piccoli blocchi invece di caricare l'intero file in memoria in una volta sola, consentendo agli strumenti di aprire e indicizzare file MBOX molto grandi — decine o centinaia di gigabyte — con un basso utilizzo della memoria.

Un parser in streaming elabora un file come una sequenza di byte o righe, mantenendo solo un piccolo buffer e lo stato di analisi corrente in qualsiasi momento. Questo contrasta con un approccio bufferizzato che legge l'intero file in memoria prima che inizi l'analisi. Per i file MBOX, un parser in streaming può identificare i confini dei messaggi (le righe separatrici "From "), estrarre le intestazioni e registrare gli offset in byte senza mai contenere più di un messaggio in memoria alla volta.

Il vantaggio pratico è che la dimensione del file smette di essere una limitazione. Un'esportazione MBOX da 50 GB di un archivio Gmail di anni si apre nello stesso modo di un file di test da 1 MB — il parser lo legge sequenzialmente, costruendo un indice leggero delle posizioni dei messaggi, e poi si porta direttamente a qualsiasi messaggio quando lo si seleziona. L'utilizzo della memoria rimane approssimativamente costante indipendentemente dalla dimensione dell'archivio.

Il parser in streaming di Mbox Viewer è progettato per questo caso d'uso. Alla prima apertura di un file MBOX, scorre il file per costruire un indice binario che registra l'offset in byte e i metadati chiave per ogni messaggio. Alle aperture successive, l'indice viene caricato in meno di un secondo, quindi il parser deve rileggere solo i messaggi che si aprono effettivamente.

Termini correlati

Leggi i tuoi file MBOX sul tuo Mac