Skip to content
Mbox Viewer

Parser strumieniowy

Technika parsowania, która odczytuje plik przyrostowo w małych fragmentach zamiast ładować cały plik do pamięci naraz, umożliwiając narzędziom otwieranie i indeksowanie bardzo dużych plików MBOX — dziesiątek lub setek gigabajtów — przy niskim zużyciu pamięci.

Parser strumieniowy przetwarza plik jako sekwencję bajtów lub linii, utrzymując tylko małą bufor i bieżący stan parsowania w dowolnym momencie. Kontrastuje to z podejściem buforowanym, które odczytuje cały plik do pamięci przed rozpoczęciem parsowania. Dla plików MBOX, parser strumieniowy może identyfikować granice wiadomości (linie separatora "From "), wyodrębniać nagłówki i rejestrować przesunięcia bajtów bez konieczności trzymania w pamięci więcej niż jednej wiadomości naraz.

Praktyczna korzyść polega na tym, że rozmiar pliku przestaje być ograniczeniem. 50 GB eksport MBOX z wieloletniego archiwum Gmail otwiera się w taki sam sposób jak 1 MB plik testowy — parser czyta go sekwencyjnie, budując lekki indeks pozycji wiadomości, a następnie szuka bezpośrednio dowolnej wiadomości po jej wybraniu. Zużycie pamięci pozostaje w przybliżeniu stałe niezależnie od rozmiaru archiwum.

Parser strumieniowy Mbox Viewer jest zaprojektowany do tego przypadku użycia. Przy pierwszym otwarciu pliku MBOX, strumieniuje przez plik w celu zbudowania binarnego indeksu rejestrującego przesunięcie bajtów i kluczowe metadane dla każdej wiadomości. Przy kolejnych otwarciach, indeks jest ładowany w czasie poniżej sekundy, więc parser musi ponownie strumieniować tylko wiadomości, które faktycznie otwierasz.

Powiązane pojęcia

Czytaj swoje pliki MBOX na Macu