programmes profilage est une première étape importante dans l'optimisation . Si vous voulez que votre programme pour courir plus vite , il faut d'abord identifier les fonctions qui prennent le plus de temps et de concentrer votre attention là-bas. Pour ce faire, un programme Perl doit collecter et détaillée de ses appels de sous-programmes et les sorties , la création d' un fichier qui contient toutes les informations de profil. Profilage votre programme Perl vous indiquera où la plus grande quantité de temps est passé . Instructions
1
rassembler des données de test , en utilisant des fichiers de données volumineux lorsque cela est possible . Si votre programme est en train de traiter un grand nombre de données , rassembler des données de pire scénario . Il ne sert à optimiser votre programme Perl pour le meilleur scénario ou la plus petite quantité de données
2
le profileur exécuté par l'exécution de votre programme à partir de la ligne de commande Perl avec l'option- d: . Possibilité DProf . Ce sera le profil de votre programme et de sortie d'un fichier de tmon.out . Ce fichier tmon.out sera grande et incompréhensible , mais il est facilement transformé en un état lisible : "perl -d: DProf test.pl "
3
Exécutez le processeur profiler , en utilisant le commande dprofpp ( DProf pré-processeur ) . La commande produira une sortie lisible à partir du fichier tmon.out . Les colonnes les plus intéressants sont le pourcentage de temps passé , nombre d'appels et le nom de la fonction. Voici quelques exemples de sorties : "C: \\ projects \\ Perl > dprofppTotal temps écoulé = 0.377622 secondes utilisateurs + System Time = 0,345622 SecondsExclusive Horaires % Temps ExclSec des cumuls Nombre d'appels sec /appel CSTC /c Nom 79,5 0,275 0,269 1 0,2752 0,2694 File :: Trouvez :: _find_dir 13,6 0,047 0,063 2 0,0235 0,0313 principale :: begin 4,63 0,016 0,016 3 0,0053 0,0053 DynaLoader :: dl_load_file 4,63 0,016 0,016 3 0,0053 0,0053 ActivePerl :: Config :: BEGIN 4,34 0,015 0,015 3 0,0050 0,0050 DynaLoader :: BEGIN 0,00 0,000 0,000 1 0.0000 0.0000 Config :: lanceur 0,00 0,000 0,000 1 0,0000 0,0000 Config :: fetch_string "
4
Profil vos programmes Perl en identifiant les points d'optimisation. Fonctions qui prennent beaucoup de temps ou qui sont appelés un grand nombre d' heures sont candidates à l'optimisation .
5
Optimiser votre programme. Si une fonction est appelée une quantité excessive de temps (des centaines , des milliers ou plus) , envisager de prendre le corps de la fonction et de le mettre directement dans le code appelant . Même si les fonctions ne prennent pas beaucoup de temps à s'exécuter , la fonction appelle se prendre du temps.