8-GiB-Datei, 256 MiB Java heap
LogoRRR 26.8.0 · gemessene Performance
Die Dateigröße muss nicht mehr
in den Java Heap passen.
Öffnen Sie ein mehrere GiB großes Log, springen Sie in die Mitte oder ans Ende – der Java heap bleibt begrenzt. Die größte Testdatei hatte 8 GiB bei einem Java heap von 256 MiB.
$ open production.log
- Datei
- 8 GiB
- Java-heap-Limit
- 256 MiB
- erstes Fenster
- 155 ms
- belegter Java heap
- 3.62 MiB
- Prozess-PSS
- 159.2 MiB
Anfang · Mitte · Ende verfügbar
8-GiB-Test mit begrenztem Arbeitsspeicher
nach Zugriff auf Anfang, Mitte und Ende
26.8.0 und 26.2.0 mit der 2-GiB-Testdatei
Architektur
Von „alles im Arbeitsspeicher“ zu „nur das Nötige lesen“
Vor 26.8.0 führten größere Dateien direkt zu Millionen zusätzlicher, dauerhaft gehaltener Zeilenobjekte. Die out-of-core Engine begrenzt ihren Arbeitssatz und liest angeforderte Bereiche bei Bedarf aus der Quelldatei.
Bei der 2-GiB-Testdatei blieben rund 3,21 GiB Java heap belegt. Mit einer 4-GiB-Datei schöpften alle drei veröffentlichten Versionen einen 4 GiB großen Java heap aus.
Nach Zugriff auf Anfang, Mitte und Ende der 8-GiB-Datei waren 3.62 MiB Java heap belegt – bei einem Java-heap-Limit von 256 MiB.
Gleiche Datei · gleicher Java heap mit 4 GiB
Eine 2-GiB-Logdatei in vier LogoRRR-Generationen
Jeder Wert ist der Median aus drei erfolgreichen Läufen, nachdem der dateispezifische Cache geleert wurde. Der kleinere Wertebereich zeigt den schnellsten und den langsamsten gemessenen Lauf.
| Version | Engine | Bereit | Belegter Java heap | PSS-Spitze | Läufe |
|---|---|---|---|---|---|
| 24.4.0 | vollständig im RAM | 7.66 s | 3.08 GiB | 4.19 GiB | 3 |
| 25.2.0 | vollständig im RAM | 8.41 s | 3.21 GiB | 4.21 GiB | 3 |
| 26.2.0 | vollständig im RAM | 9.89 s | 3.21 GiB | 4.21 GiB | 3 |
| 26.8.0 | out-of-core | 144 ms | 3.58 MiB | 159.2 MiB | 3 |
Nutzbare Daten 69-mal schneller, belegter Java heap um den Faktor 918 kleiner. Verglichen wurden 26.8.0 und die jüngste veröffentlichte Testversion 26.2.0 mit der 2-GiB-Testdatei.
Die bisherige Speichergrenze
Veröffentlichte Versionen scheitern bei 4 GiB am Java heap; 26.8.0 arbeitet weiter
Mit 4 GiB Java heap bestanden alle Versionen den 2-GiB-Test. Bei einer 4-GiB-Datei schöpften sämtliche Engines, die den Inhalt vollständig im RAM halten, diesen heap aus. Die neue Engine bestand sowohl den 4-GiB- als auch den 8-GiB-Test.
| Datei | 24.4.0 | 25.2.0 | 26.2.0 | 26.8.0 |
|---|---|---|---|---|
| 500 MiB | ✓ Bestanden | ✓ Bestanden | ✓ Bestanden | ✓ Bestanden |
| 1 GiB | ✓ Bestanden | ✓ Bestanden | ✓ Bestanden | ✓ Bestanden |
| 2 GiB | ✓ Bestanden | ✓ Bestanden | ✓ Bestanden | ✓ Bestanden |
| 4 GiB | × Java heap ausgeschöpft | × Java heap ausgeschöpft | × Java heap ausgeschöpft | ✓ Bestanden |
| 8 GiB | — Nicht erneut getestet | — Nicht erneut getestet | — Nicht erneut getestet | ✓ Bestanden |
Sobald eine Version ihren Java heap ausgeschöpft hatte, wurden größere Dateien als „nicht erneut getestet“ markiert, statt denselben Fehler zu wiederholen.
Test mit begrenztem Arbeitsspeicher
Achtmal größere Datei, nahezu konstanter Speicherbedarf
LogoRRR 26.8.0 lief mit einem Java-heap-Limit von 256 MiB. Während die Datei von 1 GiB auf 8 GiB wuchs, blieben der belegte Java heap bei etwa 3,6 MiB und der gesamte Prozess-PSS bei etwa 159 MiB.
- Anfang
- 152 ms
- Mitte
- 13 ms
- Ende
- 6 ms
- Java heap
- 3.56 MiB
- PSS
- 157.3 MiB
- Anfang
- 146 ms
- Mitte
- 13 ms
- Ende
- 7 ms
- Java heap
- 3.58 MiB
- PSS
- 160.0 MiB
- Anfang
- 146 ms
- Mitte
- 14 ms
- Ende
- 9 ms
- Java heap
- 3.59 MiB
- PSS
- 158.9 MiB
- Anfang
- 155 ms
- Mitte
- 18 ms
- Ende
- 12 ms
- Java heap
- 3.62 MiB
- PSS
- 159.2 MiB
Jeder Wert ist der Median aus drei Läufen. Die Methodentabelle weiter unten enthält die gemessenen Bereiche für jedes Fenster.
Die neue praktische Grenze
Das Speichermedium bestimmt das Tempo – nicht ein zur Dateigröße proportionaler RAM-Bedarf
Für das erste Fenster muss die Quelldatei nicht mehr vollständig gelesen werden. Vorgänge, die jedes Byte prüfen müssen, hängen weiterhin von Laufwerk und Dateisystem ab.
In einem separaten Exaktsuchtest mit einer 500-MiB-Datei erschien der erste Treffer nach 3.38 s. Die vollständige Abdeckung dauerte 34.8 s bei 14.4 MiB/s.
Methode und Herkunft
Reproduzierbare Messungen mit bewusst konservativen Grenzen
Der Test verwendet den echten Loader-Code jedes Builds und deterministische, nicht sparse gespeicherte Testdateien. Jeder Lauf startet in einer eigenen JVM; die Prozessspeicherwerte stammen vom Betriebssystem.
Kontrollierte Eingabe
Deterministische UTF-8-Logzeilen mit fester Breite in nicht sparse gespeicherten Dateien, die vor der Messung erzeugt wurden.
Cold-File-Verfahren
Vor jedem Lauf wird der Betriebssystem-Cache der Testdatei geleert; der globale Cache bleibt unangetastet.
Prozessspeicher
Der belegte Java heap wird nach der Garbage Collection erfasst. Die Spitze der proportional set size (PSS) stammt aus /proc/<pid>/smaps_rollup.
Zwei Testreihen
Mit 4 GiB Java heap werden alle Versionen bis zu ihrem Fehlerpunkt verglichen. Eine separate Testreihe begrenzt 26.8.0 auf 256 MiB und prüft Dateien mit 1, 2, 4 und 8 GiB.
| Datei | Erstes Fenster | Mitte | Ende | Belegter Java heap | PSS-Spitze |
|---|---|---|---|---|---|
| 1 GiB | 152 ms 149–159 | 13 ms 12–14 | 6 ms 6–7 | 3.56 MiB | 157.3 MiB |
| 2 GiB | 146 ms 143–146 | 13 ms 12–13 | 7 ms 7–7 | 3.58 MiB | 160.0 MiB |
| 4 GiB | 146 ms 141–153 | 14 ms 13–15 | 9 ms 9–10 | 3.59 MiB | 158.9 MiB |
| 8 GiB | 155 ms 153–157 | 18 ms 15–18 | 12 ms 12–12 | 3.62 MiB | 159.2 MiB |
Umgebung
Ubuntu 24.04.4 LTS, aarch64, 8 logical CPUs, openjdk version "25.0.2" 2026-01-20.
Builds
- 24.4.0 — veröffentlicht 2024-06-06, Artefakt
logorrr_24.4.0_arm64.deb, SHA-25627a4aea231dc78ba4b3838cc57361728bc714926f9270731bd7637eba8dda065 - 25.2.0 — veröffentlicht 2025-12-23, Artefakt
logorrr_25.2.0_arm64.deb, SHA-256f8de52dccb4224a25b0689aaef9d64618e98102d7134e637b249d1830c516fb1 - 26.2.0 — veröffentlicht 2026-03-03, Artefakt
logorrr_26.2.0_arm64.deb, SHA-256cfec5dd09753ba90167199aa5d94f388448fc518f7629bf598b7debb01489cca - 26.8.0 — Quellcode-Snapshot aus der Release-Abschlussphase
f5e31853, als 26.8.0 gebaut und gemessen
Identität der Messdaten
Vergleichs-SHA-256: 7de25d018ba40d51504ccd265f03a5ef8167bd9ae52d543e66880444d5223024
Stresstest-SHA-256: 7f480db156fd24d6fa3d6946ea24c003ae8dd54abff5a3621c646aff2b58281e
Die Ergebnisse gelten für diese Testdatei, diesen Rechner und dieses Verfahren – nicht für jedes Laufwerk und jede Arbeitslast. „Vom Speichermedium begrenzt“ bedeutet, dass die getestete Dateigrößengrenze nicht mehr proportional zum belegten Java heap ist. Vorgänge über die gesamte Quelldatei hängen weiterhin vom Speicherdurchsatz ab. Größte getestete Datei: 8 GiB.
LogoRRR Pro
Öffnen Sie das Log, das bisher zu groß war
Der Zugriff auf die vollständige Datei gehört zu LogoRRR Pro. Die kostenlose Vorschau bleibt bewusst begrenzt, damit Sie den Arbeitsablauf testen können, bevor Sie große Dateien freischalten.