Яндекс открыл исходный код YaFF — нового формата передачи данных, разработанного для оптимизации работы с экосистемой Protocol Buffers. Основная задача проекта заключается в устранении накладных расходов при десериализации, сохраняя при этом привычные .proto-файлы в качестве единственного источника истины. Технология позволяет работать с данными напрямую в памяти без необходимости их копирования, что критически важно для высоконагруженных систем.

Реализация YaFF включает четыре типа макетов данных: Fixed, Flat, Sparse и Dynamic. Каждый из них адаптирован под специфические сценарии использования, обеспечивая баланс между гибкостью структуры и скоростью доступа. Согласно внутренним бенчмаркам, использование Flat Layout позволяет достичь скорости чтения, которая всего в 1,2 раза превышает показатели работы с нативными структурами C++, что значительно быстрее стандартных методов парсинга Protobuf.

Новый формат ориентирован на инфраструктурные задачи, где требуется минимальная задержка при обработке огромных массивов данных. В частности, YaFF уже находит применение в рекламных технологиях и других высоконагруженных сервисах компании, требующих интенсивного обмена данными между компонентами системы. Исходный код и подробная документация по формату доступны для интеграции в сторонние проекты, работающие с высокопроизводительными пайплайнами данных.