Myriad Blog 1.3.0 Thursday, Apr 17th, 2014 at 11:37pm 

Wednesday, Sep 23rd, 2009 at 05:39pm
Myriad User Score Library et autre, étape 42

 
Nous essayons toujours d'optimiser les scripts de publication sur les espaces MUSL afin qu'ils puissent gérer des comptes contenant plusieurs centaines de partitions.
 
Les délais de traitement ont été réduits à des niveaux acceptables, excepté la génération de toutes les pages de l'espace, qui, pour un compte d'environ 2000 pages, prend entre 3 et 4 minutes.
 
Nous avons déjà fractionné le traitement afin que le script ne soit pas interrompu par un "timeout" coté serveur. En effet, des mécanismes de protection contre les scripts qui boucleraient de manière infinie interdit un traitement de plus de 2 minutes.
 
Reste ensuite à optimiser cette génération. Malheureusement, nous n'avons pas pu installer de "profiler" pour le langage Perl, qui nous permettrait de savoir quelles fonctions prennent le plus de temps. Il faut donc faire un peu au feeling, par exemple en accélérant les traitement des chaines de caractères. La syntaxe du Perl est assez confuse, ce qui rend les mises au point un peu difficiles.
Par exemple, on doit écrire parfois des choses comme celles-ci:  
 
if($key=~m/^\Q$path\E\/[^\/]+$/)

ce qui voudrait dire, en français:
"Si le contenu de la variable 'key' est égal au contenu de la variable 'path' suivi d'un '/' suivi d'un ou plusieurs caractères qui ne sont pas des '/', alors..."
Puissant et compact, mais carrément illisible.
by Olivier Guillion


Most recent first
Oldest first

Top of page
Last update:  (c) Myriad 2013