Facebook l�ve le voile sur son Framework Folly Futures,
qui facilite la programmation asynchrone C++ en utilisant le pattern Promise/Future
C�est en 2012 que Facebook pr�sente et rend Open Source Folly, sa librairie C++ qu�il utilise dans le d�veloppement de ces applications internes. Cette librairie qui �tend les possibilit�s du langage, a fait ses preuves dans l�optimisation des ressources syst�mes telles que la consommation de la m�moire pendant l�ex�cution des applications.
Aujourd�hui, Facebook d�voile un nouveau pan de Folly. Il s�agit de Folly Futures, un Framework qui impl�mente les fonctions Futures de C++ 11. En effet, le langage orient� objet est venu, dans sa version 11, avec de meilleures possibilit�s pour exploiter le multithreading int�gr� dans les processeurs de plusieurs c�urs. Ce sont ces fonctionnalit�s que Facebook a exploit� et am�lior� pour faciliter l�exp�rience du d�veloppeur dans l��criture du code avec son Framework.
Folly Futures vient faciliter la t�che au d�veloppeur C++ dans l��criture du code asynchrone. Il s�agit ici de permettre au d�veloppeur d�avoir dans un m�me code source, plusieurs parties qui peuvent s�ex�cuter simultan�ment avec une possibilit� d�interactions entre les r�sultats retourn�s par ces diff�rentes parties, sans aucun blocage.
De fa�on classique, lorsqu�une fonction effectue fait un appel � une autre, et a besoin du r�sultat de cette derni�re pour continuer son op�ration, celle-ci est mise dans un �tat latent jusqu�� la disponibilit� du r�sultat attendu, ce qui entraine couramment des blocages de l�IU. Cette logique est qualifi�e de synchrone. Dans la logique asynchrone, le service, qui devrait �tre mis en latence, continue d�ex�cuter d�autres op�rations en attendant la r�ponse du service appel�. Ce principe r�duit ainsi consid�rablement le temps de latence dans l�ex�cution globale des applications. Facebook estime une r�duction de plus de deux tiers du temps de latence.
Facebook est fier de l�exp�rience qui en r�sulte avec Instagram. La version actuelle d�Instagram, qui a �t� d�velopp�e avec Folly Futures, traite des dizaines de milliers de requ�tes par seconde et supporte des dizaines de millions de connexions par jour. L��quipe de d�veloppement dit avoir un code source plus lisible et plus efficient depuis le passage au Framework.
Folly Futures de Facebook s�est inspir� de Twitter Futures, qui lui repose sur le langage Scala. La firme de Mark Zuckerberg exprime sa gratitude � ses d�veloppeurs Hans Fugal, Dave Watson, James Sedgwick, Hannes Roth, et Blake Mathen.
T�l�charger Futures sur GitHub
Source: Futures for C++ 11 at Facebook
Et vous ?
Que pensez-vous du Framework Folly Futures ?
Partager