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, Java heap 256 MiB

155 msдо первого доступного окна

тест 8 GiB с ограниченной памятью

3.62 MiBзанятая Java heap

после открытия начала, середины и конца

69×быстрее до доступных данных

26.8.0 и 26.2.0 на файле 2 GiB

От всего файла в памяти к чтению только нужного фрагмента

До 26.8.0 рост файла напрямую означал миллионы дополнительных объектов строк в памяти. Out-of-core движок поддерживает ограниченный рабочий набор и читает запрошенные окна из источника по мере необходимости.

Выпущенные версии24.4 · 25.2 · 26.2
лог-файлвсе строкиJava heap

Для тестового файла 2 GiB было занято около 3,21 GiB Java heap. На файле 4 GiB все три выпущенные версии исчерпали Java heap объёмом 4 GiB.

LogoRRR26.8.0
лог-файлограниченные окнапредставление

После открытия начала, середины и конца файла 8 GiB занятой оставалась лишь 3.62 MiB Java heap, хотя её лимит составлял 256 MiB.

Один лог 2 GiB в четырёх поколениях LogoRRR

Каждое значение — медиана трёх успешных запусков после очистки кэша конкретного файла. Меньший диапазон показывает самый быстрый и самый медленный измеренный запуск.

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 heapПиковый PSSЗапуски
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 уменьшилась в 918 раз. На файле 2 GiB сравнивались 26.8.0 и самая новая выпущенная версия в тесте — 26.2.0.

Выпущенные версии исчерпывают Java heap на 4 GiB; 26.8.0 продолжает работу

При Java heap 4 GiB все версии прошли тест с файлом 2 GiB. На файле 4 GiB каждый движок, удерживающий весь файл в памяти, исчерпал этот объём. Новый движок прошёл тесты 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 в одной версии файлы большего размера отмечались как «повторно не запускалось», чтобы не воспроизводить ту же ошибку.

Файл в восемь раз больше, потребление памяти почти не меняется

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 измеряется после сборки мусора. Пиковый proportional set size (PSS) считывается из /proc/<pid>/smaps_rollup.

04

Две серии тестов

При Java heap 4 GiB все версии сравниваются до точки отказа. Отдельная серия ограничивает 26.8.0 до 256 MiB и проверяет файлы 1, 2, 4 и 8 GiB.

LogoRRR 26.8.0 при Java heap 256 MiB; медианы и измеренные диапазоны
ФайлПервое окноСерединаКонецЗанятая Java heapПиковый PSS
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