The Great PHP Framework Shootout

Le titre de ce billet fait écho au billet clouant PHP au pilori au travers des Frameworks testés que sont CakePHP, Kohana, Codeigniter, Symfony, et enfin Yii.

N’étant utilisateur d’aucun, j’ai bien évidement vite vu qu’il en manquait 2 et non des moindres : ZendFramework (ouais quand même …) et … Jelix, forcément me direz vous ;)

L’honneur de PHP étant en jeu, tel Zorro, j’enfourchais mon elephpant, « laver » l’affront qui nous fut fait.
Bon déconnade à part, je me suis lancé simplement dans la réalisation des tests sur le modèle évoqué par l’auteur.

En premier ma démarche est de tester un framework sur ma machine voir ce que cela donne. Connaissant bien CakePHP (l’ayant utilisé quelques années), j’ai simplement forké le projet ‘The Great Web Framework Shootout’ pour récupérer le code CakePHP et l’exécuter.
Et chose intéressante pour la suite, j’obtiens, à un poil de mammouth près (une histoire de pachiderme quoi:), les mêmes valeurs sur ma debian 64bits bi-xeon (8coeurs & 4Go de RAM) que sur l’EC2 (avec 8Go de RAM), évoqué par le sieur Testeur.
Donc je me dis « je tiens des valeurs similaires pour CakePHP, donc let’s go pour Jelix ».

En intro aux images qui vont suivre, il est à noter que Jelix dispose dans son arsenal, de 3 éditions :

  • une édition développeur, fournissant outils de debugging etc…
  • une édition optimisée, allégée sans les outils de dev.
  • une édition gold, un module qu’on se compile et charge dans Apache via son php.ini

Voici les résultats

Test « Hello World »

update (27/02) : FR ici django sur ma machine atteint 2246req/seconde

update (27/02) : EN here django reaches 2246req/seconde on my PC

Test avec Template

update (27/02) : FR ici django sur ma machine atteint 1269req/seconde

update (27/02) : EN here django reaches 1269req/seconde on my PC

Test avec Template et Base de données

update (27/02) : ici django sur ma machine atteint 606req/seconde

update (27/02) : EN here django reaches 606req/seconde on my PC

Si on compare avec les résultats pour les bench sur PHP, Jelix surpasse tous ses copains dans tous les tests.
Ensuite on peut aussi aller le comparer avec tous ceux du test, cela donnerait :

  • Test Hello world : Jelix 6ieme entre Flask et Sinatra.
  • Test Template : Jelix 6ieme au coude à coude avec Sinatra et devant Django (update du 27/02).
  • Test Template and DB : Jelix 4ieme derrière Sinatra.

Comme @martinsam je conclurai à mon tour que je ne regrette pas mon choix de framework et bien au contraire me conforte. En même temps cela me rassure sur PHP (un clin d’oeil à Loic « j’ai honte alors merci de me redonner un peu de fierté ») et j’espère qu’il en sera de même pour ceux qui se posaient la question de lâcher ce langage pour un autre juste parce que les frameworks PHP ne sont pas à la hauteur.

L’écosystème est vaste, il suffit de creuser un peu, tester et tomber sur celui qui convient.

13 réflexions au sujet de « The Great PHP Framework Shootout »

  1. Pierre Martin

    Salut,

    Est-ce que tu as eu le temps de le faire avec la v2.1 de CakePHP ? (ou au moins 2.0)
    Il y a une pull request à ce sujet et les résultats (comparaison) seraient intéressant.

  2. foxmask Auteur de l’article

    Bonjour Pierre,
    Non je n’ai pas eu le temps, mais je peux essayer dans la journée.
    Je ne te promets rien. Mais ca serait cool que CakePHP 2 rebondisse à son tour.

  3. Samuel Martin

    Twitter par son côté « réducteur de pensée » permet d’envoyer des skuds sans toujours le vouloir.

    La perf est une info mais n’est pas unique, nous sommes d’accord. L’expérience du développeur, sa connaissance du framework, l’écosystème (plugin), la philosophie font la différence.
    Merci pour ce test sur un framework français : Jelix ! . J’avais hésité entre Django et Jelix suite à Sf.. puis je suis tombé amoureux de la syntaxe python.

  4. pluriels

    Salut Fox,

    J’adore ces benchmarks, on oublie toujours Jelix !
    Il manque le framework html5/CSS3 pour le « hello world test »

    A+

  5. foxmask Auteur de l’article

    @Samuel Martin
    En fait le skud n’est pas venu de toi mais du billet du Mr de http://blog.curiasolutions.com/ ;-) qui a agit comme un electrochoc à mon sens, enfin j’espère que ca va l’être pas que pour moi.
    Après pour Django, j’aime beaucoup comme je l’ai déjà dit. j’ai effectué les tests de perf du blog cité là et franchement c’est ahurissant comme django répond. Mais je pense que ce n’est bien évidement pas nouveaux pour vous autres djangoïstes ;)

  6. foxmask Auteur de l’article

    Hello Pluriels ;)

    hé bien tu vois ce coup ci il n’y avait pas que Jelix d’oublier. J’attends qu’un développeur Zend le produise pour voir. Par exemple j’apprécie particulièrement http://blog.pascal-martin.fr/ pour l’avoir croisé à la dernière édition de ParisWeb.

  7. Laurentj

    C’est reconfortant tout ça :-) Bon, vivement que je puisse m’atteler à un Jelix 2 où je pourrais faire du nettoyage, histoire d’augmenter tout ces chiffres :-)

  8. Pierre Martin

    Hmm c’est bizarre en effet. Je suis surchargé jusqu’à mardi (lancement d’un site) mais ensuite j’essaierai de trouver une soirée pour remettre ça en ordre !

    Merci d’avoir essayé

  9. rebolon

    Cool le bench.
    Fervent utilisateur de Copix depuis ses débuts, j’ai toujours hésité à utiliser Jelix. Etait ce encore un framework sans réel support, ni communication (gros pb de Copix) ?
    Là j’avoue que je suis séduit par le bench. Il faudrait que je compare les fonctionnalités par rapport à un Sf2 pour voir ce qu’il en est.
    Merci pour les infos en tout cas.

  10. foxmask Auteur de l’article

    Bonjour,

    Le support en terme de doc/forum/irc/mailing-lists est des plus complet (on y veille ;)

    Pour moi le soucis majeur de jelix, c’est la communication.

    On n’a pas les moyens des boites qui supportent les principaux frameworks concurrents comme Zend / Sensio / CakeDC etc… qui eux doivent avoir un budget pour cela.

    Donc ce genre de résultat de bench permet de mettre un peu le framework en lumière afin qu’il soit apprécié à sa juste valeur.

    D’autant que l’actu à venir va encore être riche ;)

    Pour ce qui est des fonctionnalités vis à vis de SF2, j’aimerai autant que Laurentj en parle lui même ;)
    SF2 a largement plus de fonctionnalités à offrir. Reste à savoir si ce n’est pas au détriment :
    de la simplicité / des performances ; les maitres-mots de Jelix.

Les commentaires sont fermés.