Intelligence artificielle20 juin 2026· via MarkTechPost

Yandex lance YaFF : un format Protobuf sans copie avec des performances proches des struct

Yandex lance YaFF : un format Protobuf sans copie avec des performances proches des struct

Yandex a publié en open source YaFF, un format de sérialisation sans copie pour Protobuf promettant des lectures côté serveur presque aussi rapides que des structures C++ brutes. Distribué sous licence Apache 2.0 et disponible sous forme de bibliothèque C++ (v0.1.0), YaFF conserve le fichier .proto d’origine comme source unique de vérité tout en ne modifiant que la disposition physique de la mémoire. Les résultats de benchmark montrent que le Flat Layout lit les données chaudes environ 3,8 fois plus vite que FlatBuffers et à seulement 1,2 fois la vitesse d’une structure brute. Le projet vise les backends à forte charge où l’analyse Protobuf peut consommer des pourcentages à deux chiffres du CPU, équivalant à des milliers de cœurs à grande échelle.

Une alternative intégrée, pas un remplacement

YaFF n’a pas pour but de remplacer Protobuf, mais de servir de format de transmission alternatif en conservant sa sémantique. Le même fichier .proto génère une API C++ de type proto, permettant des lectures sans copie directement depuis le tampon. Pour les chemins moins critiques en performance, le format peut toujours être analysé en messages Protobuf, facilitant une adoption progressive en introduisant YaFF sur un chemin critique tout en conservant Protobuf pour le reste.

Quatre dispositions pour équilibrer vitesse et flexibilité

YaFF propose quatre dispositions physiques pour ajuster la vitesse de lecture et la flexibilité du schéma. Fixed utilise une structure brute compacte sans en-tête pour les schémas figés, Flat ajoute un en-tête de deux octets pour une évolution restreinte, Sparse emploie une table de métadonnées pour une évolution illimitée, et Dynamic (par défaut) bascule entre Flat et Sparse à l’exécution. Des benchmarks sur un AMD EPYC 7713 avec Clang 20.1.8 montrent que le Flat Layout lit en 9,79 nanosecondes — environ 3,8 fois plus vite que FlatBuffers et 22 fois plus vite que Protobuf — tout en restant à 1,2 fois la vitesse d’une structure brute.

Conçu pour la production, testé dans le système publicitaire de Yandex

YaFF alimente des parties du système de recommandations publicitaires de Yandex, où il permet des économies de 10 à 20 % de CPU à l’échelle de la production. La bibliothèque inclut une suite de benchmarks reproductibles et cible les environnements d’exécution côté serveur, offrant aux équipes un moyen de réduire la surcharge d’analyse sans abandonner les schémas Protobuf ou les outils associés.


Source : MarkTechPost. Synthèse éditoriale assistée par IA — TechnoExpress.

Lire la source originale sur MarkTechPost →

← Retour à l'accueil