numerus_

архиватор без потерь · v0.1.0

Сжимает телеметрию в 2.5-7 раз лучше xz

Numerus понимает числа в файле: видит столбцы, шаг времени, плавные изменения и повторяющиеся форматы. Показания датчиков, временные ряды, табличные выгрузки и логи восстанавливаются побайтово, до последнего пробела.

7 дней полный доступ бесплатно  /  macOS · Linux · Windows  /  один бинарник ~1 МБ

6.3%100 МБ телеметрии после сжатия
7.1×лучше xz на CSV датчиков
50 сна 1 ГБ, xz -9 тратит 12 минут
0 битпотерь: проверка CRC32 в каждом архиве

для чего

Четыре задачи, где Numerus выигрывает

Выигрыш - во сколько раз архив меньше, чем у лучшего из gzip, bzip2, xz -9e, zstd -19 и brotli на том же файле.

Телеметрия и датчики, IoT

SCADA, умные счётчики, метеостанции, мониторинг оборудования.

"sensor","ts","value","status"
"S-00","2026-04-01 00:00:00","20.1","OK"
"S-01","2026-04-01 00:00:01","20.0","OK"
2.5-7×vs лучший

Временные ряды и числовые выгрузки

Метки времени, цены, котировки, идентификаторы, координаты.

1000001,99.92,9
1000003,99.91,5
1000004,99.85,19
1.3-2.3×vs лучший

Табличные выгрузки

Заказы, продажи, события из баз данных и учётных систем.

id,created,city,customer,amount,comment
100001,2026-02-01 00:00:57,"Paris, France","Carl ""C.J."" Jones",966.30,
1.2-1.6×vs лучший

Логи веб-серверов и приложений

nginx, Apache, балансировщики, сервисы с единым форматом строки.

10.2.125.58 - - [01/Nov/2026:00:00:00 +0000] "GET /api/items/3279 HTTP/1.1" 200 88896
2026-11-01 00:00:00.655 INFO  [worker-4] Request 26226 done in 380 ms
1.2-1.5×vs xz -9e

замеры

Размер архива, меньше - лучше

Каждый архив распакован и сверен с исходным файлом. Полосы в масштабе внутри каждого графика. Apple M2, синтетические данные: на реальных файлах выигрыш может отличаться.

скорость на 100 МБ и 1 ГБ телеметрии
файлархиваторархивдолясжатиераспаковка
numerus6.66.3%4.30.9
xz -916.315.6%66-
zstd -1921.820.8%58-
gzip -923.822.7%14-
numerus68.26.4%508
xz -9 -T0167.715.6%702-
zstd -19 -T0221.820.7%225-
gzip -9245.522.9%113-

На 1 ГБ архив Numerus в 2.5 раза меньше, чем у xz, а сжатие в 14 раз быстрее: 50 секунд против 12 минут, хотя xz тоже работал во все потоки. Большие файлы режутся на блоки по 8 МиБ и сжимаются на всех ядрах, память около 1 ГБ и почти не зависит от размера файла.

как работает

Каждый столбец получает свою модель

Обычный архиватор видит в 1700000002 десять символов. Numerus видит число, которое на 1 больше предыдущего, и хранит только разницу.

входной файл
1700000001,4,21.49,45.0
1700000002,1,21.45,44.8
1700000003,14,21.48,44.8
1700000004,9,21.52,44.9
что хранится
время     1700000001  +1 +1 +1
датчик    4 1 14 9            (1-16)
темпер.   2149  -4 +3 +4      (×100)
влажн.    450   -2  0 +1      (×10)

Столбцы и разности

Время, счётчики и плавные величины превращаются в маленькие разности, почти все одинаковые.

Шаблоны и словари

Даты, IP-адреса, коды вроде SKU-1074 и категории хранятся один раз, меняются только числа.

Побайтово и с проверкой

Ведущие нули, 12.50, 1.5E-07, кавычки CSV и CRLF сохраняются. Каждый архив сразу проверяется распаковкой, CRC32 ловит любое повреждение.

для mac

Правый клик → Сжать в Numerus

  • Установщик .pkg ставит приложение, команду для Терминала и пункты меню Finder. Галочки включены по умолчанию.
  • Окно прогресса показывает, сколько сжато, сколько осталось и итог: «1.07 ГБ → 68 МБ».
  • Двойной щелчок по .numerus распаковывает архив рядом с ним.

не подходит

Для этого берите zstd или xz

Обычный текст и документы

Статьи, письма, JSON со строками. Numerus их не примет.

Двоичные файлы

Программы, базы данных, изображения, видео, архивы, веса нейросетей.

Случайные числа и шум

Хеши, ключи, случайные цифры: предел 3.32 бита на цифру, его достигают все.

Логи из свободного текста

Системные логи и многострочные дампы: вдвое лучше gzip, но наравне с zstd.

запуск

Две команды

Результат пишется во временный файл и заменяет выходной только после успеха. Код выхода 0 или 1, удобно в скриптах и cron.

сжатие и распаковка
$ numerus compress   -i orders.csv     -o orders.numerus
orders.csv -> orders.numerus: 7000054 -> 507655 bytes

$ numerus decompress -i orders.numerus -o orders.csv

# большие файлы: блоки на всех ядрах, предел распаковки
$ numerus compress -i 2024.csv -o 2024.numerus -j 8
$ numerus decompress -i 2024.numerus -o 2024.csv --max-output 20G
лицензия и архивы за день
$ numerus compress -i day.csv -o day.numerus
Numerus trial: 7 of 7 days left. ...

$ numerus license install NUM-2026-0001.txt
License NUM-2026-0001: ACME, edition team, users 5, expires 2027-11-30, ...

# ночной архив логов и выгрузок
$ for f in /var/log/nginx/*.log.1; do
    numerus compress -i "$f" -o "$f.numerus" && rm "$f"
  done

# распаковка работает и без лицензии
$ numerus decompress -i old.numerus -o old.csv

скачать · v0.1.0

Один файл, без установки

Распакуйте архив и положите numerus в PATH. Первые 7 дней всё работает без лицензии, потом для сжатия нужен файл лицензии. Распаковка работает всегда.

Контрольные суммы: SHA256SUMS. Проверка после скачивания:

# macOS
shasum -a 256 -c SHA256SUMS --ignore-missing
# Linux
sha256sum -c SHA256SUMS --ignore-missing
# Windows PowerShell
Get-FileHash numerus-0.1.0-windows-x86_64.zip -Algorithm SHA256

лицензия

Personal, Team, Site

Personal

3 050 ₽
один раз, бессрочно

Один человек, до 3 устройств. Обновления 12 месяцев.

Team

18 100 ₽
в год

До 10 человек одной организации. Обновления на весь срок.

Site

61 900 ₽
в год

Вся организация, без ограничения числа людей и устройств.

  • 7 дней полный доступ. Скачайте и сжимайте свои данные без лицензии. Потом без лицензии работает только распаковка.
  • Лицензия проверяется без интернета. Это подписанный файл. Командная строка не выходит в сеть, а окно Numerus раз в сутки только спрашивает у сайта номер новой версии; это отключается в меню.
  • Ваши архивы всегда открываются. Распаковка работает без лицензии и после окончания её срока.
  • Обновления входят в лицензию на срок, указанный в ней; вышедшими до этой даты версиями можно пользоваться и дальше.
  • Как купить. Напишите на почту, какая лицензия нужна и на кого её оформить: пришлём счёт, а после оплаты в течение 2 рабочих дней - файл лицензии. В течение 7 дней после оплаты можно вернуть деньги.
  • Встраивание в свои продукты и сервисы (OEM, SDK, SaaS) - по отдельному договору.

покупка и вопросы

i@pfrolov.ru

Пришлите пример своих данных: покажем, сколько даст Numerus именно на них.