Симулятор сжатия словаря
Создайте собственный словарь сжатия на основе собственных образцов данных, затем сожмите целевую строку, используя этот словарь, и посмотрите, как она сравнивается с обычным GZIP. Симулятор сжатия словарей моделирует работу общих словарей Brotli и Zstandard, показывая наиболее популярные извлеченные фразы, сохраненные байты при каждой замене и четырехстороннее сравнение размеров. Работает полностью в вашем браузере без необходимости регистрации.
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.
Зачем использовать наш симулятор сжатия словарей?
- Мгновенное создание и сжатие словаря: вставьте примеры данных и целевую строку, чтобы мгновенно создать собственный словарь сжатия и имитировать сжатие — полностью в вашем браузере. Симулятор сжатия словаря извлекает самые популярные фразы по сохраненным байтам и показывает результаты за считанные секунды без загрузки на сервер.
- Безопасный симулятор сжатия словаря онлайн: образцы данных и целевые строки никогда не покидают ваше устройство. Симулятор сжатия словаря полностью работает в вашем браузере - без загрузки на сервер, без передачи данных, 100% конфиденциальность. Безопасно для полезных данных API, данных журналов и проприетарного контента.
- Сравнение четырехстороннего сжатия: симулятор сжатия по словарю показывает четыре результата рядом: исходный размер, только GZIP, только словарь и объединенный словарь + GZIP — так что вы можете точно увидеть, какой вклад вносит каждый метод и стоит ли общий словарь накладных расходов для ваших данных.
- 100% бесплатно навсегда: симулятор сжатия словаря абсолютно бесплатен, не требует регистрации, премиум-уровня, ограничений на размер данных и рекламы. Имитируйте сжатие словаря для неограниченного количества полезных данных без каких-либо затрат и навсегда.
Распространенные случаи использования симулятора сжатия словарей
- Планирование сжатия ответов API. Вставьте образец ответов API в качестве обучающих данных и новый ответ в качестве цели. Симулятор сжатия словаря показывает, насколько общий словарь уменьшит размер провода по сравнению с обычным GZIP, что критически важно для высокочастотных конечных точек API, где значительные накладные расходы при холодном запуске GZIP.
- Анализ сжатия строк журнала: используйте исторические строки журнала в качестве образца данных и новые записи журнала в качестве цели. Симулятор сжатия словаря определяет наиболее повторяющиеся фразы в ваших журналах — временные метки, имена полей, коды состояния — и показывает, насколько общий словарь снизит затраты на хранение журналов.
- Оценка общего словаря Brotli: оцените, принесет ли общий словарь Brotli (поддерживается в Chrome 117+ через спецификацию Compression Dictionary Transport) вашему веб-приложению. Симулятор сжатия словаря моделирует тот же подход к извлечению фраз, который Бротли использует для своего статического словаря.
- Обучение словаря Zstandard. Прежде чем запускать zstd --train на своем сервере, используйте симулятор сжатия словаря, чтобы оценить преимущества сжатия и оптимальные настройки длины фразы для вашего типа данных. Это поможет вам решить, оправданы ли затраты на обучение для вашего варианта использования.
- Сжатие сообщений WebSocket. Для приложений WebSocket, отправляющих множество небольших сообщений одной и той же схемы, симулятор сжатия словаря показывает, насколько общий словарь уменьшит размер сообщения по сравнению с GZIP для каждого сообщения, что особенно ценно для каналов данных в реальном времени и приложений чата.
- Обучение алгоритму сжатия: Симулятор словарного сжатия — отличный обучающий инструмент для понимания того, как работает словарное кодирование LZ77, Brotli и Zstandard. Посмотрите, какие именно фразы извлекаются, сколько замен делается и как предварительная обработка словаря усиливает сжатие GZIP.
Что такое словарное сжатие?
Сжатие словаря — это метод, при котором часто встречающиеся подстроки заменяются короткими обратными ссылками на заранее созданный словарь сжатия. Вместо кодирования каждого символа по отдельности компрессор говорит «используйте фразу №42 из словаря» — 2-байтовую ссылку, которая заменяет 20-байтовую строку. Такие алгоритмы, как LZ77, Brotli и Zstandard, внутренне используют словарное кодирование. Ключевой вывод заключается в том, что общий словарь, предварительно согласованный между компрессором и декомпрессором, устраняет проблему холодного запуска, которая делает GZIP неэффективным для небольших полезных данных. Наш симулятор словарного сжатия моделирует этот процесс, используя n-граммный частотный анализ ваших выборочных данных.
Как работает наш симулятор сжатия словарей
- 1. Вставьте образец данных и целевую строку. Образцы данных используются для создания словаря — используйте репрезентативные данные того же типа, что и то, что вы хотите сжать (например, прошлые ответы API, строки журнала, шаблоны HTML). Целью является строка, которую вы хотите сжать. Оба процесса полностью обрабатываются в вашем браузере — никакие данные не отправляются ни на какой сервер.
- 2 Нажмите «Имитировать сжатие словаря». Симулятор сжатия словаря извлекает все n-граммы (подстроки настраиваемой длины) из выборочных данных, подсчитывает их частоту и ранжирует их по общему количеству сохраненных байтов. Жадный проход дедупликации удаляет избыточные подфразы. Первые N фраз образуют словарь.
- 3. Сравните результаты: симулятор показывает четыре размера — исходный, только GZIP, только словарь и словарь + GZIP — с визуальной гистограммой, сеткой статистики и таблицей самых популярных словарных фраз с их частотой и сохраненными байтами. Размеры GZIP точны (собственный API CompressionStream).
Что измеряется
- Словарные фразы: первые N подстрок из выборки данных, ранжированные по общему количеству сохраненных байтов — (длина фразы — 2) × частота. -2 учитывает стоимость 2-байтовой обратной ссылки, которая заменяет каждое вхождение фразы.
- Выполнено замен: общее количество вхождений фразы, замененных в целевой строке. Большее количество замен означает, что целевые данные точно соответствуют выборочным данным, что является хорошим признаком эффективности словаря.
- Заголовок словаря: общий размер самого словаря (байты фразы + 2-байтовый индекс на запись). Это единовременная стоимость, распределяемая между всеми сжатыми сообщениями, и она незначительна при сжатии большого количества полезных данных.
- Размеры GZIP (точные): фактические размеры сжатого GZIP, рассчитанные с использованием собственного API CompressionStream браузера — как для исходного целевого объекта, так и для целевого объекта, предварительно обработанного словарем.
Словарное сжатие против стандартного GZIP
Стандартный GZIP создает с нуля собственную таблицу обратных ссылок LZ77 для каждой сжатой полезной нагрузки. Для больших файлов это работает хорошо — у компрессора достаточно данных, чтобы найти повторяющиеся шаблоны. Но для небольших полезных данных (менее 1 КБ) GZIP преобладает накладные расходы при холодном запуске, а степень сжатия оставляет желать лучшего. Общий словарь решает эту проблему, предварительно загружая компрессор известными шаблонами, прежде чем он увидит целевые данные. Вот почему Brotli обеспечивает лучшее сжатие веб-контента, чем GZIP: его встроенный статический словарь, содержащий более 13 000 строк HTML, CSS и JavaScript, дает ему преимущество при каждом ответе. Симулятор сжатия словаря позволяет вам создать и протестировать собственный словарь для конкретной предметной области с тем же эффектом.
Часто задаваемые вопросы
Симулятор сжатия словаря создает собственный словарь сжатия на основе выборочных данных и использует его для сжатия целевой строки, показывая, насколько меньше выходные данные по сравнению с простым GZIP. Наш бесплатный онлайн-симулятор сжатия словарей работает полностью в вашем браузере и не требует регистрации.
Сжатие словаря — это метод, при котором часто встречающиеся подстроки заменяются короткими обратными ссылками на заранее созданный словарь. Такие алгоритмы, как Brotli и Zstandard, поддерживают общие словари — заранее согласованный набор общих фраз, которые известны как компрессору, так и декомпрессору, что обеспечивает гораздо лучшее сжатие небольших или повторяющихся полезных данных.
Сжатие по словарю наиболее эффективно для множества небольших однотипных полезных данных — ответов API, строк журнала, записей JSON, шаблонов HTML. Только GZIP не справляется с небольшими объемами полезной нагрузки, поскольку ему необходимо с нуля создавать собственный словарь для каждого сообщения. Общий словарь устраняет проблему холодного запуска.
Да, полностью. Симулятор сжатия словаря полностью работает в вашем браузере. Ваши образцы данных и целевые строки никогда не загружаются на какой-либо сервер и никогда не покидают ваше устройство. Вся обработка происходит локально с полной конфиденциальностью.
Да – 100% бесплатно, навсегда. Никакой регистрации, никакой учетной записи, никакого премиум-уровня, никаких ограничений на размер данных и никакой рекламы. Имитируйте сжатие словаря для неограниченного количества полезных данных совершенно бесплатно.
Симулятор сжатия словаря извлекает наиболее часто встречающиеся подстроки (n-граммы) из выборки данных, ранжируя их по общему количеству сохраненных байтов. Он использует жадный проход дедупликации, чтобы избежать избыточных записей — более короткие фразы, которые являются подстроками уже выбранных более длинных фраз, пропускаются. Вы можете контролировать минимальную и максимальную длину фразы, а также общее количество словарных статей.
Сам словарь занимает место — каждая фраза должна быть сохранена, чтобы декомпрессор мог ее найти. Симулятор сжатия словаря показывает служебные данные словаря в байтах. Эти накладные расходы являются единовременными затратами, распределяемыми между всеми сжатыми сообщениями, поэтому ими можно пренебречь при сжатии множества полезных данных одного и того же типа.
Brotli (RFC 7932) имеет встроенный статический словарь, содержащий более 13 000 распространенных веб-строк. Zstandard поддерживает пользовательские общие словари с помощью команды zstd --train. Симулятор сжатия словаря моделирует эту концепцию — создает словарь для конкретной предметной области на основе ваших собственных образцов данных и демонстрирует преимущества сжатия по сравнению с обычным GZIP.