METABYTE
К списку статей

Fc: сжимаем потоки float без потерь и без нервов

Новая утилита Fc обещает сжимать потоки чисел с плавающей точкой без единой ошибки — мечта дата-сайентиста, который устал от «потеряшек».

13 мая 20262 мин чтения
Fc: сжимаем потоки float без потерь и без нервов

Разработчики представили проект Fc — lossless-компрессор для потоков чисел с плавающей точкой. Звучит как узкоспециализированный инструмент для гиков, но на деле это спасение для тех, кто хранит терабайты логов сенсоров или научных расчётов. В отличие от привычных gzip/bzip2, Fc заточен именно под float-данные и не теряет ни бита точности.

Как это работает (без магии, но с интригой)

Алгоритм основан на предсказании значений с помощью линейной регрессии и последующем кодировании остатков. Если упростить: он угадывает следующее число, а сохраняет только разницу между предсказанием и реальностью. Разница обычно мала, поэтому сжимается отлично. Разработчики утверждают, что на типичных наборах данных (вроде временных рядов с метеостанций) Fc обгоняет gzip в 2-3 раза.

А что с производительностью?

Скорость сжатия — не рекордная, но достаточная для фоновых задач. А вот декомпрессия быстрая: можно читать данные «на лету» без задержек. Это особенно важно для стриминга или работы с архивами в реальном времени. Правда, для Random Access пока придётся распаковывать блок целиком — но авторы обещают исправить.

Кому это нужно (кроме дата-сайентистов)?

  • Разработчикам IoT-систем, где каждое упакованное число — сэкономленный байт трафика.
  • Инженерам машинного обучения, которые хранят предобработанные датасеты в float32.
  • Всем, кто когда-либо смотрел на размер логов и думал: «А не сжать ли их чем-то умнее, чем zip?»

Комментарий студии METABYTE: Мы тоже иногда храним тонны логов и знаем, как больно смотреть на гигабайты текста. Fc — отличный пример, когда специализированный инструмент побеждает универсальные решения. Если вам нужно не только сжимать, но и обрабатывать данные в реальном времени — мы поможем построить пайплайн, который не заставит вас ждать до утра.

СЛЕДУЮЩИЙ ШАГ

Понравилось как мыслим?

Применяем те же принципы в клиентских проектах: AI, автоматизации, продукты, которые не умирают после релиза.