LogoRRR 26.8.0 · desempenho medido

O ficheiro já não tem de
caber na Java heap.

Abra um registo de vários GiB, avance para o meio ou salte para o fim: a Java heap permanece limitada. O maior ficheiro testado tinha 8 GiB, com apenas 256 MiB de Java heap.

$ open production.log

ficheiro
8 GiB
limite da Java heap
256 MiB
primeira janela
155 ms
Java heap retida
3.62 MiB
PSS do processo
159.2 MiB

início · meio · fim disponíveis

32×proporção entre ficheiro e Java heap

ficheiro de 8 GiB, Java heap de 256 MiB

155 msaté à primeira janela utilizável

teste de 8 GiB com memória limitada

3.62 MiBJava heap retida

depois de aceder ao início, meio e fim

69×mais rápido até aos primeiros dados

26.8.0 face a 26.2.0 no ficheiro de 2 GiB

Do ficheiro inteiro em memória à leitura apenas do necessário

Antes da 26.8.0, ficheiros maiores criavam diretamente milhões de objetos de linha retidos. O motor out-of-core mantém um conjunto de trabalho limitado e lê da origem as janelas pedidas.

Versões publicadas24.4 · 25.2 · 26.2
ficheiro de registotodas as linhasJava heap

O ficheiro de teste de 2 GiB reteve cerca de 3,21 GiB de Java heap. Com um ficheiro de 4 GiB, as três versões publicadas esgotaram uma Java heap de 4 GiB.

LogoRRR26.8.0
ficheiro de registojanelas limitadasvista

Depois de aceder ao início, meio e fim do ficheiro de 8 GiB, apenas 3.62 MiB de Java heap continuavam retidos, mesmo com o limite definido em 256 MiB.

Um registo de 2 GiB em quatro gerações do LogoRRR

Cada valor é a mediana de três execuções bem-sucedidas depois de removida a cache específica do ficheiro. O intervalo menor mostra a execução mais rápida e a mais 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
Comparação controlada de 2 GiB com Java heap máxima de 4 GiB
VersãoMotorProntoJava heap retidaPico de PSSExecuções
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

Dados utilizáveis 69 vezes mais depressa, com uma Java heap retida 918 vezes menor. A comparação usa o ficheiro de 2 GiB e confronta a 26.8.0 com a versão publicada mais recente do teste, a 26.2.0.

As versões publicadas esgotam a Java heap nos 4 GiB; a 26.8.0 continua

Com 4 GiB de Java heap, todas as versões passaram no teste de 2 GiB. Ao chegar ao ficheiro de 4 GiB, todos os motores residentes esgotaram essa memória. O novo motor passou nos testes de 4 GiB e 8 GiB.

Comparação controlada por tamanho de ficheiro; três execuções por cada célula aprovada
Ficheiro24.4.025.2.026.2.026.8.0
500 MiB Aprovado Aprovado Aprovado Aprovado
1 GiB Aprovado Aprovado Aprovado Aprovado
2 GiB Aprovado Aprovado Aprovado Aprovado
4 GiB Java heap esgotada Java heap esgotada Java heap esgotada Aprovado
8 GiB Não repetido Não repetido Não repetido Aprovado

Depois de uma versão esgotar a Java heap, os ficheiros maiores eram marcados como «não repetido» em vez de reproduzir a mesma falha.

Ficheiro oito vezes maior, memória praticamente estável

O LogoRRR 26.8.0 foi executado com uma Java heap limitada a 256 MiB. Enquanto o ficheiro cresceu de 1 GiB para 8 GiB, a Java heap retida manteve-se perto de 3,6 MiB e a PSS total do processo perto de 159 MiB.

1 GiB
início
152 ms
meio
13 ms
fim
6 ms
Java heap
3.56 MiB
PSS
157.3 MiB
2 GiB
início
146 ms
meio
13 ms
fim
7 ms
Java heap
3.58 MiB
PSS
160.0 MiB
4 GiB
início
146 ms
meio
14 ms
fim
9 ms
Java heap
3.59 MiB
PSS
158.9 MiB
8 GiB
início
155 ms
meio
18 ms
fim
12 ms
Java heap
3.62 MiB
PSS
159.2 MiB

Cada valor é a mediana de três execuções. A tabela de metodologia abaixo apresenta os intervalos medidos de cada janela.

O armazenamento dita o ritmo, não uma memória proporcional ao ficheiro

A primeira janela pode ser devolvida sem ler toda a origem. As operações que têm de examinar cada byte continuam dependentes da unidade e do sistema de ficheiros.

Noutro teste de pesquisa exata com um ficheiro de 500 MiB, o primeiro resultado surgiu após 3.38 s. A cobertura completa demorou 34.8 s, a 14.4 MiB/s.

primeiro resultado3.38 s
cobertura completa34.8 s
ficheiro determinístico de 500 MiB · mediana de três execuções

Medições reproduzíveis com limites deliberadamente conservadores

O teste executa o código real do carregador de cada build em ficheiros determinísticos não esparsos. Cada execução usa uma JVM separada e os dados de memória do processo vêm do sistema operativo.

01

Entrada controlada

Linhas de registo UTF-8 determinísticas e de largura fixa, guardadas em ficheiros não esparsos criados antes da medição.

02

Política de ficheiro frio

A cache do sistema operativo específica do ficheiro é removida antes de cada execução; a cache global não é limpa.

03

Memória do processo

A Java heap retida é medida após a recolha de lixo. O pico do tamanho proporcional (PSS) é lido em /proc/<pid>/smaps_rollup.

04

Duas séries de testes

Uma Java heap de 4 GiB compara todas as versões até ao ponto de falha. Uma série separada limita a 26.8.0 a 256 MiB e testa-a com ficheiros de 1, 2, 4 e 8 GiB.

LogoRRR 26.8.0 com 256 MiB de Java heap; medianas e intervalos medidos
FicheiroPrimeira janelaMeioFimJava heap retidaPico 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

Ambiente

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

Builds

  • 24.4.0publicada em 2024-06-06, artefacto logorrr_24.4.0_arm64.deb, SHA-256 27a4aea231dc78ba4b3838cc57361728bc714926f9270731bd7637eba8dda065
  • 25.2.0publicada em 2025-12-23, artefacto logorrr_25.2.0_arm64.deb, SHA-256 f8de52dccb4224a25b0689aaef9d64618e98102d7134e637b249d1830c516fb1
  • 26.2.0publicada em 2026-03-03, artefacto logorrr_26.2.0_arm64.deb, SHA-256 cfec5dd09753ba90167199aa5d94f388448fc518f7629bf598b7debb01489cca
  • 26.8.0 — snapshot do código na fase final da versão f5e31853, compilada e medida como 26.8.0

Identidade dos dados

SHA-256 da comparação: 7de25d018ba40d51504ccd265f03a5ef8167bd9ae52d543e66880444d5223024

SHA-256 do teste de esforço: 7f480db156fd24d6fa3d6946ea24c003ae8dd54abff5a3621c646aff2b58281e

Estes resultados descrevem este ficheiro, esta máquina e este protocolo, não todas as unidades nem todas as cargas de trabalho. «Limitado pelo armazenamento» significa que o maior tamanho testado já não é proporcional à Java heap retida; as operações sobre toda a origem continuam dependentes do débito do armazenamento. Maior ficheiro testado: 8 GiB.

Abra o registo que antes era demasiado grande

O acesso ao ficheiro completo faz parte do LogoRRR Pro. A pré-visualização gratuita mantém um limite intencional para que possa avaliar o fluxo de trabalho antes de desbloquear ficheiros grandes.

Obter o LogoRRR