CUBR-0034 · реальные замеры
Мировой бенчмарк
Открытый замер на признанных мировых корпусах (Silesia, enwik8, Canterbury) против стандартных архиваторов. Меньше коэффициент = лучше.
Честная рамка
Это открытый замер на признанных мировых корпусах против стандартных архиваторов. Cubrim теперь лидирует в общем агрегате, но таблица по типам всё ещё показывает, где он проигрывает: в text лидирует ppmd, а 7z остаётся силён на exe и binary. Каждое отставание — цель следующей гипотезы исследовательского цикла. Тупики и проигрыши показываем как есть.
Общий рейтинг архиваторов
Места по совокупному коэффициенту на всех корпусах (меньше — лучше). Под каждым именем — уровень сжатия, на котором он запускался.
Агрегат по корпусу
| корпус | ранг cubrim | cubrim | gzip | bzip2 | xz | zstd | brotli | lz4 | ppmd | 7z | rar |
|---|---|---|---|---|---|---|---|---|---|---|---|
| canterbury | #1/10 | 0.1605 | 0.2600 | 0.1931 | 0.1754 | 0.1854 | 0.1746 | 0.3328 | 0.1837 | 0.1761 | 0.1818 |
| enwik8 | #2/10 | 0.2371 | 0.3645 | 0.2901 | 0.2483 | 0.2533 | 0.2574 | 0.4199 | 0.2240 | 0.2486 | 0.2735 |
| silesia | #1/10 | 0.2168 | 0.3191 | 0.2572 | 0.2286 | 0.2478 | 0.2339 | 0.3651 | 0.2313 | 0.2301 | 0.2507 |
По файлам, сгруппировано по типу данных
Зелёным подсвечен лучший архиватор в строке, красным — худший; #ранг показывает место Cubrim среди всех архиваторов (1 = лучший).
Text
Ранг типа считается по суммарному размеру архива (Σ сжатых байт ÷ Σ исходных байт по файлам типа) — тот же size-weighted метод, что у Silesia/lzbench, а не среднее рангов по файлам. Архиватор может выиграть тип, не будучи первым ни на одном файле, если его суммарный вывод наименьший.
| файл | ранг cubrim | cubrim | gzip | bzip2 | xz | zstd | brotli | lz4 | ppmd | 7z | rar |
|---|---|---|---|---|---|---|---|---|---|---|---|
| alice29.txt | #2/10 | 0.2625 | 0.3563 | 0.2841 | 0.3191 | 0.3236 | 0.3057 | 0.4140 | 0.2563 | 0.3195 | 0.3365 |
| asyoulik.txt | #2/10 | 0.2913 | 0.3901 | 0.3161 | 0.3562 | 0.3606 | 0.3412 | 0.4660 | 0.2903 | 0.3568 | 0.3749 |
| cp.html | #1/10 | 0.2692 | 0.3244 | 0.3099 | 0.3110 | 0.3136 | 0.2803 | 0.4189 | 0.2720 | 0.3140 | 0.3282 |
| lcet10.txt | #2/10 | 0.2268 | 0.3384 | 0.2524 | 0.2800 | 0.2844 | 0.2658 | 0.3846 | 0.2262 | 0.2802 | 0.2963 |
| plrabn12.txt | #2/10 | 0.2819 | 0.4032 | 0.3021 | 0.3434 | 0.3475 | 0.3388 | 0.4663 | 0.2750 | 0.3438 | 0.3644 |
| xargs.1 | #2/10 | 0.3598 | 0.4154 | 0.4168 | 0.4287 | 0.4088 | 0.3463 | 0.5725 | 0.3809 | 0.4443 | 0.4303 |
| enwik8 | #2/10 | 0.2371 | 0.3645 | 0.2901 | 0.2483 | 0.2533 | 0.2574 | 0.4199 | 0.2240 | 0.2486 | 0.2735 |
| dickens | #2/10 | 0.2392 | 0.3779 | 0.2747 | 0.2778 | 0.2796 | 0.2774 | 0.4302 | 0.2253 | 0.2778 | 0.2975 |
| reymont | #1/10 | 0.1668 | 0.2748 | 0.1880 | 0.1985 | 0.2033 | 0.2010 | 0.3118 | 0.1722 | 0.1989 | 0.2180 |
| webster | #2/10 | 0.1712 | 0.2909 | 0.2085 | 0.2019 | 0.2040 | 0.2033 | 0.3341 | 0.1578 | 0.2023 | 0.2179 |
| xml | #1/10 | 0.0726 | 0.1239 | 0.0825 | 0.0814 | 0.0848 | 0.0806 | 0.1424 | 0.0929 | 0.0851 | 0.0907 |
Source code
Ранг типа считается по суммарному размеру архива (Σ сжатых байт ÷ Σ исходных байт по файлам типа) — тот же size-weighted метод, что у Silesia/lzbench, а не среднее рангов по файлам. Архиватор может выиграть тип, не будучи первым ни на одном файле, если его суммарный вывод наименьший.
| файл | ранг cubrim | cubrim | gzip | bzip2 | xz | zstd | brotli | lz4 | ppmd | 7z | rar |
|---|---|---|---|---|---|---|---|---|---|---|---|
| fields.c | #1/10 | 0.2304 | 0.2813 | 0.2726 | 0.2719 | 0.2708 | 0.2437 | 0.3786 | 0.2476 | 0.2767 | 0.2835 |
| grammar.lsp | #1/10 | 0.2846 | 0.3349 | 0.3448 | 0.3472 | 0.3263 | 0.3023 | 0.4668 | 0.3163 | 0.3668 | 0.3542 |
| samba | #1/10 | 0.1615 | 0.2503 | 0.2106 | 0.1731 | 0.1795 | 0.1743 | 0.2827 | 0.1943 | 0.1740 | 0.1901 |
Database
Ранг типа считается по суммарному размеру архива (Σ сжатых байт ÷ Σ исходных байт по файлам типа) — тот же size-weighted метод, что у Silesia/lzbench, а не среднее рангов по файлам. Архиватор может выиграть тип, не будучи первым ни на одном файле, если его суммарный вывод наименьший.
| файл | ранг cubrim | cubrim | gzip | bzip2 | xz | zstd | brotli | lz4 | ppmd | 7z | rar |
|---|---|---|---|---|---|---|---|---|---|---|---|
| nci | #3/10 | 0.0478 | 0.0890 | 0.0540 | 0.0432 | 0.0481 | 0.0453 | 0.1081 | 0.0686 | 0.0519 | 0.0554 |
| osdb | #2/10 | 0.2553 | 0.3685 | 0.2779 | 0.2820 | 0.3072 | 0.2792 | 0.3923 | 0.2366 | 0.2828 | 0.3209 |
Executables
Ранг типа считается по суммарному размеру архива (Σ сжатых байт ÷ Σ исходных байт по файлам типа) — тот же size-weighted метод, что у Silesia/lzbench, а не среднее рангов по файлам. Архиватор может выиграть тип, не будучи первым ни на одном файле, если его суммарный вывод наименьший.
| файл | ранг cubrim | cubrim | gzip | bzip2 | xz | zstd | brotli | lz4 | ppmd | 7z | rar |
|---|---|---|---|---|---|---|---|---|---|---|---|
| mozilla | #4/10 | 0.2818 | 0.3708 | 0.3498 | 0.2612 | 0.2922 | 0.2708 | 0.4302 | 0.3165 | 0.2605 | 0.2959 |
| ooffice | #2/10 | 0.3912 | 0.5023 | 0.4653 | 0.3945 | 0.4224 | 0.4029 | 0.5750 | 0.4134 | 0.3943 | 0.3742 |
Binary / numeric
Ранг типа считается по суммарному размеру архива (Σ сжатых байт ÷ Σ исходных байт по файлам типа) — тот же size-weighted метод, что у Silesia/lzbench, а не среднее рангов по файлам. Архиватор может выиграть тип, не будучи первым ни на одном файле, если его суммарный вывод наименьший.
| файл | ранг cubrim | cubrim | gzip | bzip2 | xz | zstd | brotli | lz4 | ppmd | 7z | rar |
|---|---|---|---|---|---|---|---|---|---|---|---|
| kennedy.xls | #6/10 | 0.0695 | 0.2037 | 0.1265 | 0.0504 | 0.0677 | 0.0597 | 0.3148 | 0.1347 | 0.0491 | 0.0345 |
| sum | #4/10 | 0.2757 | 0.3340 | 0.3376 | 0.2484 | 0.2937 | 0.2652 | 0.4265 | 0.3065 | 0.2513 | 0.3034 |
| sao | #3/10 | 0.6244 | 0.7346 | 0.6813 | 0.6103 | 0.6895 | 0.6324 | 0.7820 | 0.6561 | 0.6087 | 0.7643 |
Images
Ранг типа считается по суммарному размеру архива (Σ сжатых байт ÷ Σ исходных байт по файлам типа) — тот же size-weighted метод, что у Silesia/lzbench, а не среднее рангов по файлам. Архиватор может выиграть тип, не будучи первым ни на одном файле, если его суммарный вывод наименьший.
| файл | ранг cubrim | cubrim | gzip | bzip2 | xz | zstd | brotli | lz4 | ppmd | 7z | rar |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ptt5 | #5/10 | 0.0942 | 0.1021 | 0.0970 | 0.0777 | 0.0846 | 0.0798 | 0.1289 | 0.0958 | 0.0822 | 0.0960 |
| mr | #1/10 | 0.2104 | 0.3685 | 0.2448 | 0.2760 | 0.3115 | 0.2831 | 0.4204 | 0.2308 | 0.2756 | 0.2784 |
| x-ray | #1/10 | 0.4451 | 0.7125 | 0.4781 | 0.5300 | 0.6084 | 0.5526 | 0.8473 | 0.4545 | 0.5286 | 0.4912 |
коэффициент = сжатый / исходный (меньше — лучше); для cubrim проверена побайтовая распаковка. · 7z -m0=LZMA2 -mx9 · xz -9e · lz4 -12 · rar a -m5 · gzip -9 · ppmd 7z -m0=PPMd · zstd --ultra -22 · bzip2 -9 · brotli -q 11 · cubrim competitive-min corrected: CUBR-0043 CM19 rows + prior verified rows + fresh exact-317a323 replacements for nci/ptt5/kennedy.xls
Как измеряются эти числаЧто дальше
Каждое отставание → гипотеза-кандидат
Самые слабые классы — ровно там, где начинаются следующие раунды исследования, как колоночный field-split H-29 родился из разрыва на телеметрии-CSV. Отсортировано по отдаче.
Флип изображения mr — внедрён, rank #1
MED16 с шириной шага 512 перевёл mr с rank 3 на #1 (0.2104 против ppmd 0.2308, ~9% впереди), остаток проходит побайтовый round-trip. Уже в бенчмарке выше — вместе с x-ray #1 класс изображений закрыт на две трети.
Контекстный text-бэкенд (PPMd-класс)
text остаётся крупнейшим призом по типам даже после выхода Cubrim на overall #1: 11 файлов, лидирует ppmd с разрывами до +33% (enwik8 0.2622 против 0.2240; webster 0.2105 против 0.1578). Логистическая context-mixing модель (order-0..6 + match-модель) уже доказана на срезах dickens — бьёт 7z-PPMd на ~9%; её интеграция как text-бэкенда — прямой путь к победе в типе text, где enwik8 (100 МБ) доминирует size-weighted метрику.
MED16 адаптивная ширина (ladder)
Обобщить флип mr: автокорреляционный детектор ширины + лестница кандидатов 256..2048 под competitive-min, чтобы любой 16-битный образ получал оптимальный шаг автоматически, а x-ray удерживал #1 (0.4451 против ppmd 0.4545). Превращает ручной выигрыш в системный.
ML-lite диспетчер контента
Дешёвый фичевый экстрактор (гистограмма, энтропии, stride-автокорреляция, магии форматов) предсказывает топ-K веток ансамбля до пробного сжатия. Это убирает mode-ошибки, держащие xargs.1, grammar.lsp и fields.c на rank 9, сокращает время бенча в 2–4× и делает тяжёлые ветки (CM, bilevel) доступными.
Малоблочный контекст + диета контейнера
Четыре rank-9 tiny-файла отстают от brotli на 20–31% лишь потому, что BWT-блок для них мал (xargs.1 0.4530 против brotli 0.3463; grammar.lsp 0.3873 против 0.3023; fields.c 0.3056 против 0.2437). Диспетчеризация входов <64 КБ в малоблочный контекстный кодер со статическим словарём — плюс лёгкий контейнер ≤12 байт (NEW-20) — сдвигает их к паритету.