LogoRRR 26.8.0 · rendimiento medido

El archivo ya no tiene que
caber en la Java heap.

Abre un registro de varios GiB, ve al centro o salta al final: la Java heap se mantiene acotada. El archivo más grande de la prueba fue de 8 GiB con una Java heap limitada a 256 MiB.

$ open production.log

archivo
8 GiB
límite de Java heap
256 MiB
primera ventana
155 ms
Java heap retenida
3.62 MiB
PSS del proceso
159.2 MiB

inicio · centro · final disponibles

32×relación archivo/Java heap

archivo de 8 GiB, Java heap de 256 MiB

155 mshasta la primera ventana útil

prueba de 8 GiB con memoria limitada

3.62 MiBJava heap retenida

tras consultar el inicio, el centro y el final

69×más rápido hasta obtener datos útiles

26.8.0 frente a 26.2.0 con el archivo de 2 GiB

De guardar todo en memoria a leer solo lo necesario

Antes de 26.8.0, un archivo mayor implicaba directamente millones de objetos de línea retenidos. El motor out-of-core mantiene un conjunto de trabajo acotado y lee de la fuente las ventanas que se solicitan.

Versiones publicadas24.4 · 25.2 · 26.2
archivo de registrotodas las líneasJava heap

El archivo de prueba de 2 GiB retuvo unos 3,21 GiB de Java heap. Con un archivo de 4 GiB, las tres versiones publicadas agotaron una Java heap de 4 GiB.

LogoRRR26.8.0
archivo de registroventanas acotadasvista

Después de consultar el inicio, el centro y el final del archivo de 8 GiB, solo permanecían retenidos 3.62 MiB de Java heap, aun con el límite fijado en 256 MiB.

Un registro de 2 GiB en cuatro generaciones de LogoRRR

Cada valor es la mediana de tres ejecuciones correctas tras desalojar la caché específica del archivo. El intervalo pequeño muestra la ejecución más rápida y la más lenta medidas.

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
Comparación controlada de 2 GiB con un máximo de 4 GiB de Java heap
VersiónMotorListoJava heap retenidaPico de PSSEjecuciones
24.4.0residente7.66 s3.08 GiB4.19 GiB3
25.2.0residente8.41 s3.21 GiB4.21 GiB3
26.2.0residente9.89 s3.21 GiB4.21 GiB3
26.8.0out-of-core144 ms3.58 MiB159.2 MiB3

Datos útiles 69 veces antes, con 918 veces menos Java heap retenida. La comparación enfrenta 26.8.0 con la versión publicada más reciente de la prueba, 26.2.0, usando el archivo de 2 GiB.

Las versiones publicadas agotan la Java heap con 4 GiB; 26.8.0 continúa

Con 4 GiB de Java heap, todas las versiones superaron la prueba de 2 GiB. Al llegar a un archivo de 4 GiB, todos los motores residentes agotaron esa memoria. El motor nuevo superó tanto la prueba de 4 GiB como la de 8 GiB.

Comparación controlada por tamaño de archivo; tres ejecuciones por cada celda superada
Archivo24.4.025.2.026.2.026.8.0
500 MiB Superada Superada Superada Superada
1 GiB Superada Superada Superada Superada
2 GiB Superada Superada Superada Superada
4 GiB Java heap agotada Java heap agotada Java heap agotada Superada
8 GiB No repetida No repetida No repetida Superada

Cuando una versión agotaba su Java heap, los archivos mayores se marcaban como «no repetida» en lugar de reproducir el mismo fallo.

Un archivo ocho veces mayor, con un uso de memoria casi constante

LogoRRR 26.8.0 se ejecutó con una Java heap limitada a 256 MiB. Al crecer el archivo de 1 GiB a 8 GiB, la Java heap retenida se mantuvo cerca de 3,6 MiB y la PSS total del proceso alrededor de 159 MiB.

1 GiB
inicio
152 ms
centro
13 ms
final
6 ms
Java heap
3.56 MiB
PSS
157.3 MiB
2 GiB
inicio
146 ms
centro
13 ms
final
7 ms
Java heap
3.58 MiB
PSS
160.0 MiB
4 GiB
inicio
146 ms
centro
14 ms
final
9 ms
Java heap
3.59 MiB
PSS
158.9 MiB
8 GiB
inicio
155 ms
centro
18 ms
final
12 ms
Java heap
3.62 MiB
PSS
159.2 MiB

Cada valor es la mediana de tres ejecuciones. La tabla de metodología inferior incluye los intervalos medidos para cada ventana.

El almacenamiento marca el ritmo, no una memoria proporcional al archivo

La primera ventana puede devolverse sin leer toda la fuente. Las operaciones que deben examinar cada byte siguen dependiendo de la unidad y del sistema de archivos.

En otra prueba de búsqueda exacta sobre un archivo de 500 MiB, la primera coincidencia apareció tras 3.38 s. La cobertura completa tardó 34.8 s a 14.4 MiB/s.

primera coincidencia3.38 s
cobertura completa34.8 s
archivo determinista de 500 MiB · mediana de tres ejecuciones

Mediciones reproducibles con límites deliberadamente prudentes

La prueba ejecuta el código real del cargador de cada compilación sobre archivos deterministas no dispersos. Cada ejecución usa una JVM independiente y la memoria del proceso se obtiene del sistema operativo.

01

Entrada controlada

Líneas de registro UTF-8 deterministas y de ancho fijo, guardadas en archivos no dispersos creados antes de medir.

02

Política de archivo en frío

Antes de cada ejecución se desaloja la caché del sistema operativo correspondiente al archivo; no se purga la caché global.

03

Memoria del proceso

La Java heap retenida se toma después de la recolección de basura. El máximo de tamaño proporcional (PSS) se lee de /proc/<pid>/smaps_rollup.

04

Dos series de pruebas

Una Java heap de 4 GiB compara todas las versiones hasta su punto de fallo. Otra serie limita 26.8.0 a 256 MiB y lo prueba con archivos de 1, 2, 4 y 8 GiB.

LogoRRR 26.8.0 con 256 MiB de Java heap; medianas e intervalos medidos
ArchivoPrimera ventanaCentroFinalJava heap retenidaPico de 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

Entorno

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

Compilaciones

  • 24.4.0publicada el 2024-06-06, artefacto logorrr_24.4.0_arm64.deb, SHA-256 27a4aea231dc78ba4b3838cc57361728bc714926f9270731bd7637eba8dda065
  • 25.2.0publicada el 2025-12-23, artefacto logorrr_25.2.0_arm64.deb, SHA-256 f8de52dccb4224a25b0689aaef9d64618e98102d7134e637b249d1830c516fb1
  • 26.2.0publicada el 2026-03-03, artefacto logorrr_26.2.0_arm64.deb, SHA-256 cfec5dd09753ba90167199aa5d94f388448fc518f7629bf598b7debb01489cca
  • 26.8.0 — instantánea del código en la fase final de la versión f5e31853, compilada y medida como 26.8.0

Identidad de los datos

SHA-256 de la comparación: 7de25d018ba40d51504ccd265f03a5ef8167bd9ae52d543e66880444d5223024

SHA-256 de la prueba de carga: 7f480db156fd24d6fa3d6946ea24c003ae8dd54abff5a3621c646aff2b58281e

Estos resultados describen este archivo, esta máquina y este protocolo, no todas las unidades ni todas las cargas. «Limitado por el almacenamiento» significa que el máximo tamaño probado ya no es proporcional a la Java heap retenida; las operaciones sobre toda la fuente siguen dependiendo del rendimiento del almacenamiento. Mayor archivo probado: 8 GiB.

Abre el registro que antes era demasiado grande

El acceso al archivo completo forma parte de LogoRRR Pro. La vista previa gratuita mantiene un límite intencionado para que puedas evaluar el flujo de trabajo antes de desbloquear los archivos grandes.

Obtener LogoRRR