Facebook optimise son apps Android avec un projet de .Google
Publié par Jacques Cheminat le | Mis à jour le
Facebook travaille sur l'amélioration des performances de son application Android. Dans ce cadre, le réseau social s'est appuyé sur un projet Open Source élaboré par Google.
Facebook aurait pu marquer comme ami, Google, en tout cas sur la partie Android. Le réseau social s'est en effet appuyé sur un projet Open Source développé par la firme de Mountain View pour améliorer les performances de son application sur Android.
Le projet se nomme FlatBuffer et se définit comme une sérialisation multi-plateforme de bibliothèque C++ avec le support de Java, C# et Go. La sérialisation est importante, car il s'agit d'un processus par lequel les données sont déconstruites, dépackagées, analysées et reconstituées pour qu'elles soient exploitables ailleurs.
FlatBuffer a été créé par Google spécifiquement pour le développement des jeux et d'autres applications critiques avec des besoins de performances. L'objectif est de réparer et relier les décalages existant entre le processeur et les sous-systèmes de mémoire utilisés par le terminal.
Des performances au rendez-vous
Après 6 mois d'intégration de FlatBuffer au sein de son client Android, Facebook reconnaît dans un blog que les performances sont au rendez-vous : une réduction du temps de chargement des données depuis le cache du disque (de 35 ms à 4 ms), une diminution de 75% de l'allocation mémoire transitoire et une baisse de 15% du stockage globale sur le client. Par ailleurs, le temps de démarrage de l'application a été amélioré de 10 à 15%.
La problématique est résumée par Georges Xie dans le blog : « Sur Facebook, les gens peuvent interagir avec leurs amis et leur famille via les statuts et la publication de photos. Dans notre backend, nous stockons toutes les données qui composent le graphe social de ces connexions. Sur les clients mobiles, nous ne pouvons pas télécharger l'intégralité du graphe. Nous ne téléchargeons qu'un noeud et une partie des connexions comme une arborescence locale ». Avec FlatBuffer, le réseau social a résolu ce problème, car « il travaille sur des métadonnées d'objet, ce qui permet un accès direct à des sous-éléments individuels de la donnée et de ne pas à avoir à désérialiser l'objet en entier ».
A lire aussi :
Le drone Aquila de Facebook : un défi technique et réseau
Facebook construit son deuxième datacenter 100% vert