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)...
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.
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
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.
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
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 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:rofile ne sont pas accessibles avec ppm.
Et sont absents sur Bribes
Par chance Devel::NYTProf est installé sur la 5.12 (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
MERCI beaucoup Lolo78 :
et en ajoutant JSON-Any :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 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:rofile est aussi dans ce cas (mais moins sûr, et pas les moyens de vérifier là tout de suite).
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
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é
Je le passe en Résolu
[EDIT]
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
Par contre Devel:rofile est absent :
Pour info, pour vérifié si un module est "standard" (dans le Core) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $ corelist Benchmark Devel::Profile Data for 2013-01-20 Benchmark was first released with perl 5 Data for 2013-01-20 Devel::Profile was not in CORE (or so I think)
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Si c'est utile, say
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
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Si c'est utile, say
Oui c'est ce que j'ai compris, du moins il me semble :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à
[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
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Si c'est utile, say
Il ne manquait plus que cela !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
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.
- La programmation fonctionnelle en Perl : 1. Les opérateurs de liste; 2. Les fonctions d'ordre supérieur; 3. Étendre le langage.
- Comment utiliser des décorateurs en Perl: Un tutoriel pour changer le comportement d'une fonction sans en modifier le code source
- De Perl 5 à Perl 6 : 1. Les bases; 2. Les nouveautés; 3. Approfondissements; 4. Annexe 1: Ce qui change entre Perl 5 et Perl 6; Annexe 2: Les nouveautés de Perl 6.
- Les regex et grammaires de Perl 6
- Objets, classes et rôles en Perl 6 - Tutoriel de programmation orientée objet
- Tour d'horizon du nouveau langage Perl 6
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...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager