• [^] # Re: Pas convaincu

    Posté par . En réponse au journal HipHop For PHP : Facebook php-to-C++ translator. Évalué à 4.

    D'autant plus que l'on parle d'un gain de performance sur la partie qui peut être facilement dupliquée, il suffit de créer un serveur clone du premier et de repartir la charge entre les deux et c'est bon (enfin presque ;)

    La problématique de facebook c'est d'avoir au moins 30000 serveurs actuellement (http://www.datacenterknowledge.com/archives/2009/10/13/faceb(...) ), alors la solution "y qu'à doubler les serveurs" a un cout pas marginal du tout.

    A plus petite échelle: par exemple une asso qui a un beau site mais peu de sous et beaucoup de visites, si ça peut éviter de payer la location d'un 2eme serveur qui a de grosse capacités, c'est peut-être bon à prendre aussi.

    Je vois surtout dans cet outil une possibilité de plus dans l'arsenal qui permet d'affronter une montée en charge.

    Maintenant ce genre de compilation de code risque de provoquer des incompatibilités et des problématiques de maintenance tordue.

    Perso je demande à voir ce que ça donne. Ce qui est sûr c'est que tant si le compilateur n'est pas encore vraiment stable ça peut vite devenir l'enfer!

    Dans un genre comparable il y a le google web toolkit (GWT), qui propose d'écrire la partie client en java (avec tests en java), GWT servant à compiler ce code en HTML + JS (de ce que j'en ai compris). Et vu leurs produits web on ne peut nier que ça marche.

    Ton exemple pyrex/cython est intéressant, mais je pense que ces outils doivent être approchés comme des facilités pour avoir des parties de code aux performances proches du C dans le meilleur des cas, et non pas comme des moulinettes "magiques" pour faire tourner n'importe quel programme python plus rapidement. Certes ils peuvent induire des contraintes par rapport au python standard. Mais d'un autre côté nul besoin de connaître le C pour écrire une fonction "native". La maintenance et la portabilité sont plus simples qu'avec du C, ainsi que le temps de mise au point. Je les vois donc comme des intermédiaires entre le python haut niveau et l'écriture de code C.

    A ce sujet l'article du développeur facebook est intéressant car il explique clairement ce qui les a motivés pour se lancer là-dedans. L'un des points concerne notamment le fait d'écrire des extensions PHP en C++: cela réduit considérablement le nombre de personnes qui peuvent intervenir sur ces parties du code, ce qui chez eux n'était pas envisageable.