Pular para o conteúdo
Aback Tools Logo

Simulador de compressão de dicionário

Crie um dicionário de compactação personalizado a partir de seus próprios dados de amostra e, em seguida, compacte uma string de destino usando esse dicionário - e veja como ele se compara ao GZIP simples. O simulador de compactação de dicionário modela como funcionam os dicionários compartilhados Brotli e Zstandard, mostrando as principais frases extraídas, bytes salvos por substituição e uma comparação de tamanho de quatro vias. Funciona inteiramente no seu navegador, sem necessidade de inscrição.

Dictionary Compression Simulator

Build a custom compression dictionary from sample data, then compress a target string using that dictionary. See how dictionary coding compares to plain GZIP - and how combining both achieves maximum compression. Runs entirely in your browser.

Load an example:

Paste logs, templates, or any repetitive data

Paste new data of the same type as the sample

Dictionary Settings

Longer phrases capture more context but require more sample data. Larger dictionaries improve compression but add overhead.

Por que usar nosso simulador de compactação de dicionário?

  • Construção e compactação instantânea de dicionário: cole dados de amostra e uma string de destino para criar instantaneamente um dicionário de compactação personalizado e simular compactação - inteiramente em seu navegador. O simulador de compactação de dicionário extrai as principais frases pelos bytes salvos e mostra os resultados em segundos, sem upload do servidor.
  • Simulador de compactação de dicionário seguro on-line: seus dados de amostra e strings de destino nunca saem do seu dispositivo. O simulador de compactação de dicionário é executado inteiramente no seu navegador - sem uploads de servidor, sem transmissão de dados, 100% privado. Seguro para cargas de API, dados de log e conteúdo proprietário.
  • Comparação de compactação de quatro vias: o simulador de compactação de dicionário mostra quatro resultados lado a lado: tamanho original, somente GZIP, somente dicionário e dicionário + GZIP combinados - para que você possa ver exatamente quanto cada técnica contribui e se um dicionário compartilhado vale a pena a sobrecarga para seus dados.
  • 100% gratuito para sempre: o simulador de compactação de dicionário é totalmente gratuito, sem inscrição, sem nível premium, sem limites de tamanho de dados e sem anúncios. Simule a compactação de dicionário para cargas ilimitadas a custo zero, para sempre.

Casos de uso comuns para simulador de compactação de dicionário

  • Planejamento de compactação de resposta da API: cole uma amostra de suas respostas da API como dados de treinamento e uma nova resposta como destino. O simulador de compactação de dicionário mostra o quanto um dicionário compartilhado reduziria o tamanho do fio em comparação com o GZIP simples - crítico para terminais de API de alta frequência onde a sobrecarga de inicialização a frio do GZIP é significativa.
  • Análise de compactação de linha de log: use linhas de log históricas como dados de amostra e novas entradas de log como destino. O simulador de compactação de dicionário identifica as frases mais repetidas em seus logs – carimbos de data/hora, nomes de campos, códigos de status – e mostra o quanto um dicionário compartilhado reduziria os custos de armazenamento de logs.
  • Avaliação do dicionário compartilhado Brotli: avalie se um dicionário compartilhado Brotli (suportado no Chrome 117+ por meio da especificação Compression Dictionary Transport) beneficiaria seu aplicativo da web. O simulador de compactação de dicionário modela a mesma abordagem de extração de frases que Brotli usa para seu dicionário estático.
  • Treinamento de dicionário Zstandard: Antes de executar zstd --train em seu servidor, use o simulador de compactação de dicionário para estimar o benefício da compactação e as configurações ideais de comprimento de frase para seu tipo de dados. Isso ajuda você a decidir se a sobrecarga de treinamento é justificada para seu caso de uso.
  • Compactação de mensagens WebSocket: para aplicativos WebSocket que enviam muitas mensagens pequenas do mesmo esquema, o simulador de compactação de dicionário mostra o quanto um dicionário compartilhado reduziria o tamanho da mensagem em comparação com o GZIP por mensagem - o que é especialmente valioso para feeds de dados em tempo real e aplicativos de bate-papo.
  • Educação sobre algoritmo de compactação: O simulador de compactação de dicionário é uma excelente ferramenta educacional para entender como funciona a codificação de dicionário LZ77, Brotli e Zstandard. Veja exatamente quais frases são extraídas, quantas substituições são feitas e como o pré-processamento do dicionário amplifica a compactação GZIP.

O que é compactação de dicionário?

A compactação de dicionário é uma técnica em que substrings que ocorrem com frequência são substituídas por pequenas referências anteriores a um dicionário de compactação pré-construído. Em vez de codificar cada caractere individualmente, o compressor diz "use a frase nº 42 do dicionário" - uma referência de 2 bytes que substitui uma string de 20 bytes. Algoritmos como LZ77, Brotli e Zstandard usam codificação de dicionário internamente. A principal conclusão é que um dicionário compartilhado – pré-acordado entre compressor e descompressor – elimina o problema de inicialização a frio que torna o GZIP ineficaz para pequenas cargas úteis. Nosso simulador de compressão de dicionário modela esse processo usando análise de frequência de n gramas em seus dados de amostra.

Como funciona nosso simulador de compactação de dicionário

  1. 1 Cole dados de amostra e uma string de destino: Os dados de amostra são usados ​​para construir o dicionário - use dados representativos do mesmo tipo que você deseja compactar (por exemplo, respostas anteriores da API, linhas de log, modelos HTML). O destino é a string que você deseja compactar. Ambos são processados ​​inteiramente no seu navegador - nenhum dado é enviado para nenhum servidor.
  2. 2 Clique em "Simular compactação de dicionário": O simulador de compactação de dicionário extrai todos os n-gramas (substrings de comprimento configurável) dos dados de amostra, conta sua frequência e os classifica pelo total de bytes salvos. Uma passagem de desduplicação gananciosa remove subfrases redundantes. As N frases principais formam o dicionário.
  3. 3 Compare os resultados: O simulador mostra quatro tamanhos - original, somente GZIP, somente dicionário e dicionário + GZIP - com um gráfico de barras visual, grade de estatísticas e uma tabela das principais frases do dicionário com sua frequência e bytes salvos. Os tamanhos GZIP são exatos (API CompressionStream nativa).

O que é medido

  • Frases do dicionário: as N principais substrings dos dados de amostra classificadas pelo total de bytes salvos - (comprimento da frase - 2) × frequência. O −2 é responsável pelo custo de referência anterior de 2 bytes que substitui cada ocorrência de frase.
  • Substituições feitas: o número total de ocorrências de frase substituídas na sequência de destino. Mais substituições significa que os dados de destino correspondem aos dados de amostra - um bom sinal para a eficácia do dicionário.
  • Sobrecarga do dicionário: o tamanho total do próprio dicionário (bytes de frase + índice de 2 bytes por entrada). Este é um custo único compartilhado por todas as mensagens compactadas – insignificante ao compactar muitas cargas úteis.
  • Tamanhos GZIP (exatos): tamanhos compactados GZIP reais calculados usando a API CompressionStream nativa do navegador - tanto para o destino original quanto para o destino pré-processado pelo dicionário.

Compressão de dicionário vs. GZIP padrão

O GZIP padrão constrói sua própria tabela de referência anterior LZ77 do zero para cada carga útil compactada. Para arquivos grandes isso funciona bem - o compressor possui dados suficientes para encontrar padrões repetidos. Mas para cargas pequenas (abaixo de 1 KB), a sobrecarga de inicialização a frio do GZIP domina e as taxas de compactação são baixas. Um dicionário compartilhado resolve isso pré-carregando o compressor com padrões conhecidos antes de ver os dados de destino. É por isso que o Brotli consegue uma compactação melhor do que o GZIP para conteúdo da web - seu dicionário estático integrado de mais de 13.000 strings HTML, CSS e JavaScript oferece uma vantagem inicial em cada resposta. O simulador de compactação de dicionário permite criar e testar seu próprio dicionário específico de domínio para obter o mesmo efeito.

Perguntas frequentes

Um simulador de compactação de dicionário cria um dicionário de compactação personalizado a partir de dados de amostra e o utiliza para compactar uma string de destino - mostrando o quão menor a saída é comparada ao GZIP simples. Nosso simulador de compactação de dicionário online gratuito é executado inteiramente em seu navegador, sem necessidade de inscrição.

A compactação de dicionário é uma técnica em que substrings que ocorrem com frequência são substituídas por curtas referências anteriores a um dicionário pré-construído. Algoritmos como Brotli e Zstandard suportam dicionários compartilhados - um conjunto pré-acordado de frases comuns que tanto o compressor quanto o descompressor conhecem, permitindo uma compactação muito melhor para cargas pequenas ou repetitivas.

A compactação de dicionário é mais eficaz para muitas cargas pequenas do mesmo tipo - respostas de API, linhas de log, registros JSON, modelos HTML. O GZIP sozinho luta com pequenas cargas porque precisa construir seu próprio dicionário do zero para cada mensagem. Um dicionário compartilhado elimina esse problema de inicialização a frio.

Sim, completamente. O simulador de compactação de dicionário é executado inteiramente no seu navegador. Seus dados de amostra e strings de destino nunca são carregados em nenhum servidor e nunca saem do seu dispositivo. Todo o processamento acontece localmente com total privacidade.

Sim - 100% grátis, para sempre. Sem inscrição, sem conta, sem nível premium, sem limites de tamanho de dados e sem anúncios. Simule a compactação de dicionário para cargas ilimitadas de forma totalmente gratuita.

O simulador de compactação de dicionário extrai as substrings mais frequentes (n-gramas) dos dados de amostra, classificados pelo total de bytes salvos. Ele usa uma passagem de desduplicação gananciosa para evitar entradas redundantes - frases mais curtas que são substrings de frases mais longas já selecionadas são ignoradas. Você pode controlar o comprimento mínimo e máximo da frase e o número total de entradas do dicionário.

O próprio dicionário ocupa espaço - cada frase deve ser armazenada para que o descompressor possa procurá-la. O simulador de compactação de dicionário mostra a sobrecarga do dicionário em bytes. Essa sobrecarga é um custo único compartilhado por todas as mensagens compactadas, portanto, torna-se insignificante ao compactar muitas cargas do mesmo tipo.

Brotli (RFC 7932) possui um dicionário estático integrado com mais de 13.000 strings da web comuns. Zstandard oferece suporte a dicionários compartilhados personalizados por meio do comando zstd --train. O simulador de compactação de dicionário modela esse conceito - construindo um dicionário específico de domínio a partir de seus próprios dados de amostra e mostrando o benefício da compactação em relação ao GZIP genérico.