file 8 GiB, Java heap 256 MiB
LogoRRR 26.8.0 · performa terukur
Ukuran file tidak lagi harus
muat di dalam Java heap.
Buka log berukuran beberapa GiB, pindah ke tengah atau langsung ke akhir—Java heap tetap terbatas. File terbesar yang diuji berukuran 8 GiB dengan batas Java heap 256 MiB.
$ open production.log
- file
- 8 GiB
- batas Java heap
- 256 MiB
- jendela pertama
- 155 ms
- Java heap yang tertahan
- 3.62 MiB
- PSS proses
- 159.2 MiB
awal · tengah · akhir tersedia
pengujian 8 GiB dengan memori terbatas
setelah membuka bagian awal, tengah, dan akhir
26.8.0 dibanding 26.2.0 dengan file 2 GiB
Arsitektur
Dari menyimpan seluruh file di memori menjadi membaca bagian yang diperlukan
Sebelum 26.8.0, file yang lebih besar langsung berarti jutaan objek baris tambahan yang harus ditahan. Engine out-of-core mempertahankan working set yang terbatas dan membaca jendela sumber saat diminta.
File pengujian 2 GiB menahan sekitar 3,21 GiB Java heap. Dengan file 4 GiB, ketiga versi rilis menghabiskan Java heap sebesar 4 GiB.
Setelah membuka bagian awal, tengah, dan akhir file 8 GiB, Java heap yang tertahan hanya 3.62 MiB, meskipun batas heap ditetapkan sebesar 256 MiB.
File sama · Java heap sama, 4 GiB
Satu log 2 GiB pada empat generasi LogoRRR
Setiap nilai adalah median dari tiga proses yang berhasil setelah cache khusus file dibersihkan. Rentang kecil di bawahnya menunjukkan proses tercepat dan terlambat yang diukur.
| Versi | Engine | Siap | Java heap yang tertahan | PSS puncak | Proses |
|---|---|---|---|---|---|
| 24.4.0 | seluruhnya di memori | 7.66 s | 3.08 GiB | 4.19 GiB | 3 |
| 25.2.0 | seluruhnya di memori | 8.41 s | 3.21 GiB | 4.21 GiB | 3 |
| 26.2.0 | seluruhnya di memori | 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 |
Data siap digunakan 69 kali lebih cepat, dengan Java heap tertahan 918 kali lebih kecil. Perbandingan ini menggunakan file 2 GiB dan membandingkan 26.8.0 dengan versi rilis terbaru dalam pengujian, yaitu 26.2.0.
Batas memori sebelumnya
Versi rilis kehabisan Java heap pada 4 GiB; 26.8.0 tetap berjalan
Dengan Java heap 4 GiB, semua versi lulus pengujian file 2 GiB. Saat file mencapai 4 GiB, setiap engine yang menyimpan seluruh file di memori menghabiskan heap tersebut. Engine baru lulus pengujian 4 GiB dan 8 GiB.
| File | 24.4.0 | 25.2.0 | 26.2.0 | 26.8.0 |
|---|---|---|---|---|
| 500 MiB | ✓ Lulus | ✓ Lulus | ✓ Lulus | ✓ Lulus |
| 1 GiB | ✓ Lulus | ✓ Lulus | ✓ Lulus | ✓ Lulus |
| 2 GiB | ✓ Lulus | ✓ Lulus | ✓ Lulus | ✓ Lulus |
| 4 GiB | × Java heap habis | × Java heap habis | × Java heap habis | ✓ Lulus |
| 8 GiB | — Tidak diuji ulang | — Tidak diuji ulang | — Tidak diuji ulang | ✓ Lulus |
Setelah suatu versi menghabiskan Java heap, file yang lebih besar ditandai “tidak diuji ulang” agar kegagalan yang sama tidak perlu diulang.
Pengujian dengan memori terbatas
File delapan kali lebih besar, penggunaan memori nyaris tetap
LogoRRR 26.8.0 dijalankan dengan batas Java heap 256 MiB. Ketika file bertambah dari 1 GiB menjadi 8 GiB, Java heap yang tertahan tetap sekitar 3,6 MiB dan total PSS proses sekitar 159 MiB.
- awal
- 152 ms
- tengah
- 13 ms
- akhir
- 6 ms
- Java heap
- 3.56 MiB
- PSS
- 157.3 MiB
- awal
- 146 ms
- tengah
- 13 ms
- akhir
- 7 ms
- Java heap
- 3.58 MiB
- PSS
- 160.0 MiB
- awal
- 146 ms
- tengah
- 14 ms
- akhir
- 9 ms
- Java heap
- 3.59 MiB
- PSS
- 158.9 MiB
- awal
- 155 ms
- tengah
- 18 ms
- akhir
- 12 ms
- Java heap
- 3.62 MiB
- PSS
- 159.2 MiB
Setiap nilai adalah median dari tiga proses. Tabel metodologi di bawah memuat rentang hasil pengukuran untuk setiap jendela.
Batas praktis saat ini
Laju ditentukan media penyimpanan, bukan memori yang sebanding dengan ukuran file
Jendela pertama dapat dikembalikan tanpa membaca seluruh sumber. Operasi yang harus memeriksa setiap byte tetap bergantung pada drive dan sistem file.
Dalam pengujian pencarian persis terpisah pada file 500 MiB, hasil pertama muncul setelah 3.38 s. Pemeriksaan lengkap memerlukan 34.8 s dengan throughput 14.4 MiB/s.
Metode dan sumber data
Pengukuran yang dapat diulang dengan batasan yang sengaja dibuat konservatif
Pengujian menjalankan kode loader asli dari setiap build pada file deterministik yang tidak sparse. Setiap proses menggunakan JVM terpisah, dan data memori proses berasal dari pengukuran sistem operasi.
Input terkendali
Baris log UTF-8 deterministik dengan lebar tetap, disimpan dalam file non-sparse yang dibuat sebelum pengukuran.
Kebijakan file dingin
Cache sistem operasi khusus file dibersihkan sebelum setiap proses; cache global tidak dikosongkan.
Memori proses
Java heap yang tertahan diukur setelah garbage collection. Nilai puncak proportional set size (PSS) dibaca dari /proc/<pid>/smaps_rollup.
Dua rangkaian pengujian
Java heap 4 GiB membandingkan semua versi hingga titik kegagalan. Rangkaian terpisah membatasi 26.8.0 pada 256 MiB dan mengujinya dengan file 1, 2, 4, dan 8 GiB.
| File | Jendela pertama | Tengah | Akhir | Java heap yang tertahan | PSS puncak |
|---|---|---|---|---|---|
| 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 |
Lingkungan
Ubuntu 24.04.4 LTS, aarch64, 8 logical CPUs, openjdk version "25.0.2" 2026-01-20.
Build
- 24.4.0 — dirilis 2024-06-06, artefak
logorrr_24.4.0_arm64.deb, SHA-25627a4aea231dc78ba4b3838cc57361728bc714926f9270731bd7637eba8dda065 - 25.2.0 — dirilis 2025-12-23, artefak
logorrr_25.2.0_arm64.deb, SHA-256f8de52dccb4224a25b0689aaef9d64618e98102d7134e637b249d1830c516fb1 - 26.2.0 — dirilis 2026-03-03, artefak
logorrr_26.2.0_arm64.deb, SHA-256cfec5dd09753ba90167199aa5d94f388448fc518f7629bf598b7debb01489cca - 26.8.0 — snapshot source pada tahap akhir rilis
f5e31853, dibuat dan diukur sebagai 26.8.0
Identitas data
SHA-256 perbandingan: 7de25d018ba40d51504ccd265f03a5ef8167bd9ae52d543e66880444d5223024
SHA-256 stress test: 7f480db156fd24d6fa3d6946ea24c003ae8dd54abff5a3621c646aff2b58281e
Hasil ini berlaku untuk file, mesin, dan protokol pengujian ini, bukan untuk setiap drive atau beban kerja. “Dibatasi penyimpanan” berarti batas ukuran file yang diuji tidak lagi sebanding dengan Java heap yang tertahan; operasi yang membaca seluruh sumber tetap bergantung pada throughput penyimpanan. File terbesar yang diuji: 8 GiB.
LogoRRR Pro
Buka log yang sebelumnya terlalu besar
Akses ke seluruh file tersedia di LogoRRR Pro. Pratinjau gratis sengaja dibatasi agar Anda dapat menilai alur kerja sebelum membuka akses ke file besar.