Une nouvelle version d'
InDefero est sortie : la 0.1.0. InDefero est un clone de
Google Code écrit à l'origine pour utiliser
git pour la révision du code. La grande nouvelle est maintenant la prise en charge de Subversion, dépôt local ou distant !
InDefero est codé en
PHP avec le framework
Pluf et est disponible sous licence
GPL. Il est simple à utiliser et très léger. Si votre hébergeur est de qualité, il fonctionne très bien sur un mutualisé avec des pages ne nécessitant guère plus de 3 Mo de mémoire pour le rendu.
La rapidité et la légèreté d'InDefero provient en grande partie de l'utilisation de Pluf. Pluf est un framework PHP reprenant les principes d'architecture de
Django lui permettant d'être simple, facile à utiliser même sur de gros projets et extrêmement performant. Le cœur de Pluf (la distribution d'une requête et le rendu minimal d'une page) est ainsi cinq fois plus performant que
Symfony sur la même configuration (test sur une instance EC2), pour avoir l'équivalent du rendu de "Hello World!" on obtient :
- php pur : 1332.53 req/s (100%)
- pluf-trunk : 344.02 req/s (25.82%)
- symfony-1.1.0 : 67.41 req/s (5.11%)
Cette méthodologie de test est celle utilisée par
Rasmus Lerdorf pour évaluer le coût minimal en terme de performance du framework. Cela veut dire que quelque soit le niveau de mise en cache (à moins d'utiliser la technique LinuxFr avec un callback sur une erreur 404 pour générer un contenu statique), vous ne pourrez pas faire mieux. Notez que c'est exceptionnel de n'avoir qu'une si faible dégradation des performances entre un framework et PHP pur, je dois dire aussi que c'est un peu le hasard des choses, j'ai juste essayé de garder la pile d'appel de fonctions dans la boucle de distribution au minimum tout en gardant la philosophie de Django "On active une fonctionnalité que si vraiment demandée".
Je remercie les lecteurs pour les remarques constructives reçues depuis le début de cette aventure, j'invite les trolls avec ce benchmark des performances (mais bon, en utilisant la méthodologie du créateur de PHP, cela devrait les calmer un peu) et accueille les critiques les bras ouverts !