IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Benchmark précis d'un programme perl.


Sujet :

Langage Perl

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 2
    Par défaut Benchmark précis d'un programme perl.
    bonjour,
    j'avoue être un débutant total en perl et je voudrais savoir un truc par rapport aux benchmarks...J'ai regardé le module Benchmark et il ne permet a priori que de mesurer le temps d'exécution, ce qui n'est pas précis et dépend de plein de paramètres...
    Les pentiums mettent à disposition une instruction pour des benchmarks précis :rdtsc. Elle tient un compte précis des cycles du processeur...

    Est-ce que c'est accessible en perl ?

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Malheureusement nous sommes ici dans le cas d'un langage interprété complexe... Je crains qu'il ne soit difficile d'obtenir des résultats probants en interne avec rdtsc sans hacker les entrailles de Perl... Les résultats de temps d'exécution ne sont pas probant sur un petit nombre d'itération, mais statistiquement ils apportent des informations valables. Si tu en es à optimiser au cycle d'horloge près, peut-être n'utilises tu pas le bon langage pour ta tache : peut-être devrais-tu considérer la possibilité d'écrire les sections critiques de ton code en C ou en Assembleur (si cela t'intéresse, je te conseille les modules de la famille Inline qui fonctionne très bien et sont faciles à utiliser).

    --
    Jedaï

  3. #3
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Par défaut
    Voici une alternative pour mesurer en haute définition d'horloge

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    use Time::HiRes qw ( time );
     
    $start_process_time = time;
     
    ###
    ### programme
    ###
     
    $end_process_time=time;
    $total_process_time=$end_process_time-$start_process_time;
    $texte_message = ("Total time to process : $total_process_time seconds");
    Simpliste comme code mais efficace

  4. #4
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par pouet33
    Voici une alternative pour mesurer en haute définition d'horloge

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    use Time::HiRes qw ( time );
     
    $start_process_time = time;
     
    ###
    ### programme
    ###
     
    $end_process_time=time;
    $total_process_time=$end_process_time-$start_process_time;
    $texte_message = ("Total time to process : $total_process_time seconds");
    Simpliste comme code mais efficace
    Il vaut mieux utiliser les modules Benchmark, ça épargne de mettre soi-même en place l'infrastructure nécessaire, et ils rapportent plus d'informations.

    --
    Jedaï

Discussions similaires

  1. executé un programme C a partir d'un programme Perl
    Par chaabane dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2006, 10h10
  2. Programme Perl tout simple qui ne fonctionne pas
    Par jejerome dans le forum Langage
    Réponses: 4
    Dernier message: 26/02/2006, 23h58
  3. Compiler un programme perl pour palteforme Win32
    Par LE NEINDRE dans le forum Modules
    Réponses: 1
    Dernier message: 11/01/2006, 14h27
  4. [File] Accès concurrent à un fichier avec un programme Perl
    Par dreamincoco dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 30/11/2005, 18h48
  5. Réponses: 4
    Dernier message: 16/01/2003, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo