[Benchmark] Appel de fonctions : PHP vs Python

19 février 2007, 2 Commentaires »

Aujourd’hui nous allons voir un petit test de performance sur des appels de fonctions récursifs grâce à la suite de Fibonacci dans deux langages distincts : le PHP et le Python.
Ce test a été réalisé sur la machine suivante :
Intel P4 3.2 Ghz, 1Go de Ram et accompagné d’une distribution Gnu/Linux Ubuntu Edgy Eft.

Version de Python : 2.4.4
Version de PHP : 5.1.6

Voici donc la version du script en PHP nommé test.php :

function test( $n )
{
if( $n <= 1 )return $n;
return test( $n - 1 ) + test( $n - 2 );
}
test( 35 );

et voici la version Python nommé test.py :

def test( n ):
if n <= 1:
return n
return test( n - 1 ) + test( n - 2 )
if __name__ == “__main__”:
test( 35 )

Maintenant que nous avons réalisé les deux scripts, il ne reste plus qu’à les exécuter. Pour cela nous allons utiliser un petit utilitaire fort sympathique (time) afin de connaître le temps d’exécution de chacun d’entre eux.

Voici donc le lancement du script PHP:

$ time php test.php

Les résultats que j’ai pu obtenir sur ma machine :

real 0m26.236s
user 0m25.846s
sys 0m0.012s

Voici donc le lancement du script Python:

$ time python test.py

Les résultats que j’ai pu obtenir sur ma machine :

real 0m15.110s
user 0m15.077s
sys 0m0.004s

Il semblerait donc que Python soit réellement plus performant sur ce type d’opération, mais bien sur on ne peut pas choisir un langage uniquement sur ce type comparatif. Néanmoins, il peut être intéressant de connaître les performances d’un langage avant de faire son choix.

[Plugin] Django AMF

12 février 2007, Aucun commentaire »

Pour toutes les personnes utilisant la technologie Flash, AMF PHP est souvent une réponse adéquate pour répondre à un nombre important de problèmes rencontrés lors du développement d’applications de type Flash Remoting.

Cette technologie séduisante pour le commun des flasheurs peut rebuter un passage de PHP à Django coté serveur.
Ce manque n’existe plus ! En effet, j’ai pu tomber par hasard sur le site DjangoAMF qui nous propose donc un middleware Django nous permettant d’utiliser le Flash Remoting. Ce plugin semble tout jeune (version 0.3.2) mais néanmoins actif (dernière mise à jour faite le 19 janvier 2007 )
Il semblerait qu’il soit développé par une équipe japonaise, mais fort heureusement une documentation anglaise est présente sur le site.
Je n’ai malheureusement pas encore eu le temps de tester tout cela, en espérant le faire dès que possible…

[Video] Conférence Django

11 février 2007, Aucun commentaire »

Voici une petite découverte trouvée sur le site Google Video. C’est une conférence google sur le thème du Framework Django, réalisée par Jacob Kaplan-Moss le 26 avril 2006. Ce dernier, qui est l’un des co-fondateurs du projet Django, nous présente les grands points forts du Framework.
Cette vidéo dure 1h 14 min et elle est en VO.

[Mémento] Le Framework Django en condensé

11 février 2007, 4 Commentaires »

Je vous propose aujourd’hui un mémento réunissant les différentes commandes du framework Django, les tags de templates, les modèles…
Ce document est disponible au format PDF sous licence Creative Commons AttributionNonCommercialShareAlike. Ce n’est que la version 0.1 du document. De nombreux ajouts et modifications sont à venir. A vos propositions :)

Edit : Mise à jour 0.1.1 du mémento (correction du lien vers django-fr.org et modification de la couleur de fond)

Télécharger le mémento Django au format PDF :

Mémento Framework Django Version 0.1.1