Vitesse de W3Perl

Une des critiques les plus justifiée concernant l'utilisation de W3Perl reste la vitesse d'éxécution. Bien sur, le logiciel n'est pas capable de rivaliser avec ceux écrits en C.
Vous trouvez ici quelques tests effectués sur plusieurs ordinateurs. Le résultat indique une vitesse de traitement de l'ordre de 1000 lignes par seconde.


Lignes par secondes
w3perl size

Les statistiques ont été calculées sur un Pentium III 450 Mhz 128 Mo sous Linux.
Le nombre de lignes rejetées n'ont pas été pris en compte, ce qui signifie que seules les lignes traitées sont affichées.

Un point correspond à un jour, donc une journée demande entre 3 et 20 secondes de calcul. Pour donner un ordre d'idée sur les accés, il y a 10 000 hits par jour, ou alors le fichier de log a une taille d'environ 1,8 Mo. Huit mois de log ont été calculé.


CPU timing Si vous désirez m'envoyer vos temps de calcul, n'hésitez pas.
Un fichier est produit dans /data/cputime, libre à vous de me l'envoyer.

Site Web Intervalle Taille du log
(compressé)
Hits / jour CPU
(résolution dns off)
OS Vitesse
(lignes / sec)
W3Perl 73 jours 3,5 Mo 5,000 3 min 55 PIII 450 (Linux) 1000
W3Perl 421 jours
(14 mois)
11 Mo 2,000 16 min 20 PIII 450 (Linux) 1000
INRP 30 jours 3,6 Mo 10,000 4 min 59 PIII 450 (Linux) 1000
INRP 244 jours
(8 mois)
47 Mo 10,000 36 min 00 PIII 450 (Linux) 1000

Pour donner un ordre de grandeur, les fichiers de log compressés sont 90% plus petit ques des fichiers non compressés.


Conseils Pour augmenter la vitesse de traitement :
  • N'utilisez pas l'option de résolution dns. Interroger un serveur dns peut prendre plusieurs secondes pour chaque requêtes malgrè le fait que les données sont stockées dans un cache ultérieurement. On peut gagner un facteur de trois à cinq en vitesse.
    Si votre fichier de log ne contient que des adresses IP non résolues, les statistiques sur les pays ne pourront pas être calculées sans actionner cette option de résolution dns.
  • Ne sélectionez pas trop de pages dans la variable @selection.
  • N'utilisez qu'une seule sortie de langage.
back