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

Python Discussion :

Fiabilité de time.clock()


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut Fiabilité de time.clock()
    Bonjour,

    Il y a déjà quelques temps que j'avais remarqué que time.clock() me retournait des résultats inattendus mais comme je n'en avais qu'un besoin très accessoire, je n'avais pas investigué plus loin.

    Maintenant que je voudrais faire une série de test, j'aimerais comprendre.

    Exemples de résultats étranges:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      print "clock :", time.clock(), "time :", time.strftime("%H:%M:%S", time.gmtime())
      ...some process
      print "clock :", time.clock(), "time :", time.strftime("%H:%M:%S", time.gmtime())
    clock : 2.92 time : 07:36:04
    clock : 6.64 time : 07:36:14

    un process plus long :

    clock : 3.42 time : 07:39:02
    clock : 63.56 time : 07:40:59
    Soit dans le premier exemple : 3, 72 sec >> 10 sec
    et dans l'autre exemple : 61,14 sec >> 117 sec

    Les résultats time sont ceux qui sont exacts

    Je suis sous Linux processeur 32b

    Dans la doc on peut lire ceci :

    On Unix, return the current processor time as a floating point number expressed in seconds. The precision, and in fact the very definition of the meaning of “processor time”, depends on that of the C function of the same name, but in any case, this is the function to use for benchmarking Python or timing algorithms.
    J'y remarque surtout la phrase "this is the function to use for benchmarking".

    Certes, cependant ...

    Le type précis de processeur aurait-il une cause ?

    Je peux me contenter parfois de la second méthode mais dans le cas de boucles à grand nombre d'itérations pour une tâche rapide, le dixième de seconde est significatif, c'est pourquoi je préférerais la méthode time.clock().

    Merci pour toutes idées.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut
    Sur Linux, la phrase:
    The precision, and in fact the very definition of the meaning of “processor time”, depends on that of the C function of the same name,
    Signifie qu'il s'agit du temps CPU utilisé (par le processus) et non d'une mesure du temps écoulé...
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Bonjour,

    Afin de voir si j'avais bien tout compris comme il faut, j'ai recommencé le tess avec le long process et en même temps j'ai ouvert toute une série d'images dans une visionneuse pour occuper au maximum la machine et effectivement, le temps clock n'a que peu évolué alors que le temps time a pratiquement doublé.

    Ce qui est donc effectivement plus utile pour un benchmark.

    Grand merci.

    Cordialement

Discussions similaires

  1. Fonction time.clock et sleep
    Par edwardfils dans le forum Calcul scientifique
    Réponses: 6
    Dernier message: 28/02/2013, 16h24
  2. Mesure du temps de calcul avec time.clock()
    Par céline80 dans le forum Général Python
    Réponses: 2
    Dernier message: 21/09/2009, 17h02
  3. Stocker le temps grace à time.clock() dans une variable ?!
    Par Exodus dans le forum Général Python
    Réponses: 2
    Dernier message: 17/09/2007, 10h08
  4. difference time() clock(), MPI::Wtime()
    Par Jeane dans le forum C++
    Réponses: 2
    Dernier message: 13/08/2007, 19h40
  5. [module time] fonction clock
    Par David38 dans le forum Général Python
    Réponses: 2
    Dernier message: 24/03/2006, 16h59

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