LogoRRR 26.8.0 · 效能實測

檔案大小不再受限於
Java heap 容量。

開啟數 GiB 的日誌,跳到中段或結尾,Java heap 仍維持在固定範圍。本次測試的最大檔案為 8 GiB,Java heap 上限僅 256 MiB。

$ open production.log

檔案
8 GiB
Java heap 上限
256 MiB
第一個視窗
155 ms
保留的 Java heap
3.62 MiB
程序 PSS
159.2 MiB

開頭 · 中段 · 結尾均可用

32×檔案與 Java heap 比例

8 GiB 檔案,256 MiB Java heap

155 ms第一個可用視窗

8 GiB 受限記憶體測試

3.62 MiB保留的 Java heap

存取開頭、中段和結尾之後

69×更快取得可用資料

以 2 GiB 測試檔比較 26.8.0 與 26.2.0

從「整份檔案放進記憶體」改為「只讀取需要的部分」

在 26.8.0 以前,檔案愈大,記憶體中保留的行物件就愈多,數量可達數百萬。out-of-core 引擎只維持固定大小的工作集,並在需要時讀取對應的來源區段。

已發佈版本24.4 · 25.2 · 26.2
日誌檔案所有行Java heap

2 GiB 測試檔保留了約 3.21 GiB Java heap。測試 4 GiB 檔案時,三個已發佈版本都耗盡了 4 GiB Java heap。

LogoRRR26.8.0
日誌檔案受控視窗畫面

存取 8 GiB 檔案的開頭、中段和結尾後,保留的 Java heap 只有 3.62 MiB;測試時 Java heap 上限為 256 MiB。

四代 LogoRRR 開啟同一份 2 GiB 日誌

每個數值都是三次成功執行的中位數;每次執行前均清除該測試檔的快取。下方的小字範圍代表實測最快值與最慢值。

24.4.0
7.66 s7541–8876 ms
25.2.0
8.41 s8243–8511 ms
26.2.0
9.89 s9863–10607 ms
26.8.0
144 ms143–150 ms
2 GiB 受控比較,Java heap 上限為 4 GiB
版本引擎就緒保留的 Java heapPSS 峰值執行次數
24.4.0完整常駐7.66 s3.08 GiB4.19 GiB3
25.2.0完整常駐8.41 s3.21 GiB4.21 GiB3
26.2.0完整常駐9.89 s3.21 GiB4.21 GiB3
26.8.0out-of-core144 ms3.58 MiB159.2 MiB3

可用資料出現速度提高 69 倍,保留的 Java heap 降為原來的 1/918。 結果採用 2 GiB 測試檔,比較 26.8.0 與本次測試中最新的已發佈版本 26.2.0。

已發佈版本在 4 GiB 檔案耗盡 Java heap,26.8.0 仍能繼續

Java heap 設為 4 GiB 時,所有版本都通過 2 GiB 檔案測試。檔案增至 4 GiB 後,所有完整常駐引擎都耗盡 heap。新引擎通過了 4 GiB 與 8 GiB 兩項測試。

依測試檔大小進行受控比較;每個通過項目執行三次
檔案24.4.025.2.026.2.026.8.0
500 MiB 通過 通過 通過 通過
1 GiB 通過 通過 通過 通過
2 GiB 通過 通過 通過 通過
4 GiB Java heap 已耗盡 Java heap 已耗盡 Java heap 已耗盡 通過
8 GiB 未再次執行 未再次執行 未再次執行 通過

某個版本一旦耗盡 Java heap,更大的測試檔便標示為「未再次執行」,不再重複相同的失敗。

檔案增大 8 倍,記憶體用量幾乎不變

LogoRRR 26.8.0 的 Java heap 上限設為 256 MiB。檔案從 1 GiB 增至 8 GiB 時,保留的 Java heap 始終約為 3.6 MiB,程序總 PSS 約為 159 MiB。

1 GiB
開頭
152 ms
中段
13 ms
結尾
6 ms
Java heap
3.56 MiB
PSS
157.3 MiB
2 GiB
開頭
146 ms
中段
13 ms
結尾
7 ms
Java heap
3.58 MiB
PSS
160.0 MiB
4 GiB
開頭
146 ms
中段
14 ms
結尾
9 ms
Java heap
3.59 MiB
PSS
158.9 MiB
8 GiB
開頭
155 ms
中段
18 ms
結尾
12 ms
Java heap
3.62 MiB
PSS
159.2 MiB

每個數值都是三次執行的中位數。下方方法表列出各視窗的實測範圍。

決定速度的是儲存吞吐量,而非與檔案大小成正比的記憶體

回傳第一個視窗不再需要讀取完整來源。不過,必須檢查每個位元組的作業仍受硬碟與檔案系統速度影響。

另一項使用 500 MiB 測試檔的精確搜尋中,3.38 s 後出現第一筆結果;完整掃描耗時 34.8 s,吞吐量為 14.4 MiB/s。

第一筆結果3.38 s
完整掃描34.8 s
500 MiB 決定性測試檔 · 三次執行的中位數

可重現,並採用保守邊界的測量

測試使用各建置版本的實際載入器程式碼與決定性產生的非稀疏檔案。每次執行都啟動獨立 JVM,程序記憶體資料來自作業系統測量。

01

受控輸入

使用固定行寬、決定性產生的 UTF-8 日誌行;非稀疏檔案在測量前建立。

02

冷檔案策略

每次執行前清除測試檔對應的作業系統快取,但不清空全域快取。

03

程序記憶體

垃圾回收後取樣保留的 Java heap。比例集大小峰值(PSS)讀取自 /proc/<pid>/smaps_rollup.

04

兩組測試

一組使用 4 GiB Java heap,比較每個版本直到失敗點;另一組將 26.8.0 限制在 256 MiB Java heap,測試 1、2、4 和 8 GiB 檔案。

LogoRRR 26.8.0,256 MiB Java heap;中位數與實測範圍
檔案第一個視窗中段結尾保留的 Java heapPSS 峰值
1 GiB152 ms 149–15913 ms 12–146 ms 6–73.56 MiB157.3 MiB
2 GiB146 ms 143–14613 ms 12–137 ms 7–73.58 MiB160.0 MiB
4 GiB146 ms 141–15314 ms 13–159 ms 9–103.59 MiB158.9 MiB
8 GiB155 ms 153–15718 ms 15–1812 ms 12–123.62 MiB159.2 MiB

測試環境

Ubuntu 24.04.4 LTS, aarch64, 8 logical CPUs, openjdk version "25.0.2" 2026-01-20.

建置版本

  • 24.4.0發佈於 2024-06-06, 建置產物 logorrr_24.4.0_arm64.deb, SHA-256 27a4aea231dc78ba4b3838cc57361728bc714926f9270731bd7637eba8dda065
  • 25.2.0發佈於 2025-12-23, 建置產物 logorrr_25.2.0_arm64.deb, SHA-256 f8de52dccb4224a25b0689aaef9d64618e98102d7134e637b249d1830c516fb1
  • 26.2.0發佈於 2026-03-03, 建置產物 logorrr_26.2.0_arm64.deb, SHA-256 cfec5dd09753ba90167199aa5d94f388448fc518f7629bf598b7debb01489cca
  • 26.8.0 — 發行收尾階段的原始碼快照 f5e31853, 以 26.8.0 建置並測量

證據識別碼

比較結果 SHA-256: 7de25d018ba40d51504ccd265f03a5ef8167bd9ae52d543e66880444d5223024

壓力測試 SHA-256: 7f480db156fd24d6fa3d6946ea24c003ae8dd54abff5a3621c646aff2b58281e

這些結果只適用於本次測試檔、設備和流程,並不代表所有硬碟或工作負載。「受儲存限制」表示實測的檔案大小上限不再與保留的 Java heap 成正比;需要讀取完整來源的作業仍取決於儲存吞吐量。最大測試檔案:8 GiB。

開啟過去因過大而無法處理的日誌

完整檔案存取是 LogoRRR Pro 功能。免費預覽保留明確限制,讓你先體驗工作流程,再解鎖大型檔案處理能力。

取得 LogoRRR