Vous êtes sur la page 1sur 3

Perl VS Python

Benchmarks : Une boucle avec des oprations mathmatiques de base dedans : Language C++ (optimized with -O2) C++ (not optimized) Python + Psyco* Python Perl PHP CPU time User 2.456 4.352 12.693 28.866 42.515 85.873 System 0.400 0.404 Total 2.856 4.756 Slower than C++ 67% 356% 918% previous 67% 174% 123% 47% 102%

0.320 13.013 0.208 29.074

0.184 42.699 1395% 0.560 86.433 2926%

*Psyco : c'est un espce d'acclrateur pour Python comme celui de Zend pour php. => Python l'emporte pour les oprations mathmatiques. Une boucle qui fait un echo hello world et qui incrmente un compteur un million de fois, 10 fois de suite : les indicateurs :

Hello benchmark: (Temps en secondes)


O.O PHP: Ruby: Python: Perl: 4.1248 2.8940 1.7893 1.3188 Func. 3.7656 2.7772 1.7498 1.1824 Autre 0.9309 2.1919 1.3138 0.6986

Inc benchmark: (Temps en secondes)


O.O PHP: Ruby: Python: Perl: 3.7079 1.5032 1.0387 0.4870 Func. 4.3501 1.3473 0.8543 0.9355 Autre 0.6164 0.8810 0.5792 0.4877

Total lignes de code (incluant les commentaires.):


OO PHP: Ruby: Python: Perl: 32 41 33 61 Func. 24 26 23 28 Autre 14 18 16 19

Le pourcentage d'utilisation de la mmoire est obtenu partir de la commande top et en faisant la moyenne avec les autres programmes en cours d'excution.

Points forts et points faibles : Points forts Perl Excution Rapide (plus rapide que python) Utilisation de mmoire minimaliste Bibliothque de librairies trs riche Documentation trs riche (en anglais) Trs adapt au traitement de fichiers (fonctions compltes et avances) Bien adapt la gestion de processus Il y a des solutions pour le cloud ( titre d'indication : http://www.catalyzed.org/2009/07/cloudservers-for-your-perl-app-amazons-ec2-vsmosso.html) Point forts Python Excution rapide Utilisation minimaliste Codage simple Code lisible et facilement maintenable. Implmentation O.O trs mature Il y a des socutions pour le cloud( titre d'indication : http://www.picloud.com/) Language compil et permet de faire des applications autonomes en excution permanente

Langage interprt et permet de faire des scripts Apprentissage trs rapide. trs rapidement et facilement pour faire un traitement complexe. Apprentissage relativement rapide.

Points faibles Perl Architecture trs faible : pas de framework, seulement des packages de bibliothques. Le code devient rapidement illisible s'il n'est pas bien soign lors de l'criture et devient donc difficilement maintenable.

Point faibles Python Documentation faible par rapport php ou perl