YaFF cuts read costs for C++ services that use Protobuf

YaFF is an C++ library for services that already use Protobuf. It keeps existing .proto files as the main data contract, but changes how the data is physically stored and read.

In systems with heavy read traffic, normal Protobuf parsing can use a lot of CPU, and YaFF aims to reduce that cost. It targets teams that want reads like FlatBuffers but do not want to move away from a Protobuf-based codebase.

It supports memory-mapping friendly layouts for large es and faster startup, and it can be added through CMake or Conan. The project is still early, supports only C++ for now, and other languages are planned later.

Key points

  • YaFF keeps .proto files but changes the stored .
  • It is built to reduce CPU work in read-heavy Protobuf systems.
  • It offers reads without fully switching to FlatBuffers.
  • It supports memory-mapping friendly data layouts for large es.
  • It is early and currently supports only C++.
Read original