Bonjour,
Existe t-il un outil permettant de tracer Perl afin d'évaluer les meilleures stratégies ?
Un peu comme sur les SGBD Trace, Tuning...
Temps CPU, Nb accès physiques disque, Nb accès logiques (info déjà en mémoire)...
Version imprimable
Bonjour,
Existe t-il un outil permettant de tracer Perl afin d'évaluer les meilleures stratégies ?
Un peu comme sur les SGBD Trace, Tuning...
Temps CPU, Nb accès physiques disque, Nb accès logiques (info déjà en mémoire)...
Il existe des modules standard de benchmark et de profilage de code. Si ce dernier ne suffit pas, il y a sur le CPAN un module plus complet et plus efficace, si besoin.
Il y a aussi des modules plus spécialisés pour les bases de données, par exemple, mais là, je ne les connais pas vraiment.
Précise ce dont tu as besoin, si ces réponses ne sont pas ce que tu recherches.
MERCI pour ta réponse Lolo78,
Je cherche surtout à me documenter, et comprendre.
Lorsque j'étais en activité, j'étais très sensible aux performances, sincèrement maintenant c'est pour m'amuser :)
Je lis souvent sur le forum que telle ou telle action en Perl est plus ou moins rapide, préférable ou non...
Sur les BDD j'ai ce qu'il faut, je les ai évoqué juste pour donner un exemple.
En Perl je recherche un outil simple capable de donner le temps de chargement d'un tableau, d'un hash... juste de quoi faire quelques comparaisons sommaires.
Je vais déjà regarder les liens que tu donnes.
Encore MERCI !
[EDIT] PS le lien "profilage de code" n'est pas bon
Je regarde les autres !
Je viens de cliquer dessus, il marche pour moi: http://search.cpan.org/dist/Devel-Profile/Profile.pm
Sinon fais une recherche "CPAN profile", tu retomberas certainement dessus et sur d'autres.
Ben oui désolé là il fonctionne.
J'étais tombé à 2 reprises sur 404.
Bon j'ai de quoi passer la nuit et +.
MERCI !
[EDIT : 20:52] Il fait encore jour :)
Aux résultats :
Je suis encore en Perl 5.12 :oops: j'ai bien essayé de passer en 5.16 mais je me suis retrouvé avec plein de pb avec des modules, dans l'urgence (façon de parler) je suis revenu à 5.12
Donc Benchmark et Devel::Profile ne sont pas accessibles avec ppm.
Et sont absents sur Bribes :(
Par chance Devel::NYTProf est installé sur la 5.12 :D (il n'est pas non plus sur Bribes - j'ai de sérieux doutes - passons).
Je suis donc contraint à faire avec le plus efficace, je ne vais pas me plaindre !
Je n'ai pas regardé de près, mais ça me semble époustouflant :king:
MERCI beaucoup Lolo78 :
et en ajoutant JSON-Any :
:DCode:You can view a treemap of subroutine exclusive time, grouped by package.
Normal que Benchmark ne soit pas dispo sous ppm, c'est un module standard (installé par défaut avec Perl). Et il me semble que Devel::Profile est aussi dans ce cas (mais moins sûr, et pas les moyens de vérifier là tout de suite).
Bonjour Lolo78,
Ne perds pas de temps à chercher.
Ce matin à la fraîche et à neurones clair-semés mais reposés j'ai fait quelques tests.
J'ai tout ce qu'il me faut pour penser par moi-même !
Encore MERCI, tu m'as permis d'augmenter ma marge de liberté :D
Je le passe en Résolu :plusser:
[EDIT]
Citation:
Normal que Benchmark ne soit pas dispo sous ppm, c'est un module standard (installé par défaut avec Perl).
Pour info, il n'est pas dans la 5.12 j'ai essayé, il le réclame
Correction :
Benchmark est bien présent, j'avais oublié le use :oops:
Par contre Devel::Profile est absent :
:plusser: MERCI Philou67430
Pourtant je ne me souviens pas avoir installé Devel::NYTProf
or so I think
A moins que ma boîte à neurones soit devenue une passoire :lol:
Oui c'est ce que j'ai compris, du moins il me semble :Citation:
Je ne comprend pas ta remarque. corelist ne fait qu'indiquer si un module fait partie du Core de Perl, ou s'il faut l'installer à part, pas s'il est ou non déjà installé dans ta configuration.
Je n'en ai installé aucun des trois, un module sur les perf, ça m'aurait marqué, je n'aurai pas posé la question "comment tester les performances", sauf Alzheimer...
corelist dit que Devel::NYTProf ne fait pas partie du core.
Je suis agréablement étonné, car j'ai compris que les modules qui ne sont pas dans le Bribes font partie du core...
mais l'essentiel est qu'il soit là :D
[EDIT] ppm graphique indique que j'ai la version 4.06 que je devrais passer à la 5.06
Comme je suis encore en perl 5.12 si je tente la MàJ j'ai ERROR: 401 Authorization Required
Et si je vais sur Bribes pour le télécharger il n'y est pas
Il ne manquait plus que cela !Citation:
Je ne serait pas aussi affirmatif ... J'imagine qu'il existe des modules qui ne sont ni dans bribes/CPAN, ni dans le Core...
Moi qui ne suis à l'aise qu'avec 0/1, tu sèmes le doute dans ce qu'il me restait de certitude :mouarf::mouarf:
PS: Je profite de la connexion pour faire un peu de ménage en supprimant les images non indispensables...
Si tu es sous Active Perl (je suppose puisque tu utilises ppm), alors sache que les distributions Active Perl ajoutent par défaut pas mal de modules en plus de la "corelist". C'est sans doute la raison pour laquelle tu as Devel::NYTProf sans l'avoir fait toi-même.
Effectivement je suis sous Active Perl.
Encore merci Lolo78 pour cette précision supplémentaire, qui me rassure un peu de n'avoir pas fait moi-même l'installation et de ne plus m'en rappeler...