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

MATLAB Discussion :

Temps CPU=temps d'execution


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de abidineb
    Inscrit en
    Septembre 2008
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 298
    Par défaut Temps CPU=temps d'execution
    Bonjour
    Je voudrai calculer le temps CPU d'un algorithme dans Matlab; tic toc fait l'affaire mais est ce que vraiment le temps CPU, ou non??merci de votre réponse

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Par défaut
    Peut-être un élément de réponse ici

    Christophe

  3. #3
    Membre éclairé Avatar de abidineb
    Inscrit en
    Septembre 2008
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 298
    Par défaut
    Bonjour christophe_halgand;
    Mais ton lien ne marche pas.
    merci comme meme

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Par défaut
    Alors tu le retrouves en faisant une recherche sur google :

    "tic toc time CPU"

    Et c'est le premier :

    "MATLAB Central - Newsreader - Cpu time in matlab"

    Christophe

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Citation Envoyé par abidineb Voir le message
    tic toc fait l'affaire mais est ce que vraiment le temps CPU
    A ma connaissance non. Enfin... pas exactement.

    Je ne suis pas un spécialiste mais voici comment je comprends (théoriquement et très simplement) les choses :
    Le code MATLAB est transférer, via le système d'exploitation, au processeur qui exécute des opérations arithmétiques basiques. C'est ce qu'on appelle couramment un processus.

    Le temps processeur (ou CPU) est donc la somme des intervalles de temps de chaque calcul élémentaire d'un processus. Si le processeur met 1ms pour exécuter une opération élémentaire et que le code lui demande de faire 1000 opérations, le temps CPU pour ce processus sera de 1s.

    Les systèmes d'exploitation actuels sont multitâches, ce qui signifie qu'ils sont capables de gérer "en même temps" plusieurs processus de manière plus ou moins indépendante. Mais au final le processeur ne peut lui exécuter concrètement qu'une seule tâche à la fois.

    Le temps CPU n'est donc pas exactement le temps d'exécution d'un programme. Si, par exemple, ce processus n'est pas prioritaire par rapport à d'autres processus plus importants, le temps CPU lui ne changera pas, par contre entre chaque calcul, il se peut fort bien que le CPU traite d'autres opérations pour d'autres processus. D'où une différence au final entre le temps d'exécution nécessaire pour finir le processus et le temps CPU toujours identique.
    Tout ceci reste assez théorique et surtout très simpliste. Les cadences des processeurs sont beaucoup plus rapide que les système d'exploitation et on trouve maintenant plusieurs processeurs avec plusieurs cœurs sur les ordinateurs.

    Maintenant, je ne pense pas que ton problème soit de mesurer le temps CPU.
    Pour répondre exactement à ta question, il nous faudrait savoir ce que tu comptes faire avec le temps mesuré.

    Ne cherches-tu pas plutôt à déterminer la complexité de ton algorithme => : Qu'est-ce que la complexité ?

  6. #6
    Membre éclairé Avatar de abidineb
    Inscrit en
    Septembre 2008
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 298
    Par défaut
    Bonjour M.Dut

    Oui c'est ce que je cherche (la complexite), mais est ce que je peut calculer (cette complexite) le temps cpu juste avec la commande tic...
    merci

  7. #7
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mlint('filename','-cyc')

  8. #8
    Membre éclairé Avatar de abidineb
    Inscrit en
    Septembre 2008
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 298
    Par défaut
    Bonjour tug83
    L 1 (C 12-14): The McCabe complexity of 'ad2' is 5.
    L 60 (C 5): 'A' might be growing inside a loop. Consider preallocating for speed.

    C'est le résultat que j'obtiens; la deuxième proposition je l'ai compris; mais la premiere non? ca veut dire que j'ai une complexite de 5 et c'est pas vrai donc comment tu explique ca???

  9. #9
    Membre Expert
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Par défaut
    Citation Envoyé par abidineb Voir le message
    j'ai une complexite de 5 et c'est pas vrai donc comment tu explique ca???
    t'aurais préféré 6 ?
    euh c'est plutôt à toi de prouver aux développeurs MATLAB comme quoi leur algorithme est faux!!! as tu lu la doc sur ce que représente cette valeur ?

  10. #10
    Membre éclairé Avatar de abidineb
    Inscrit en
    Septembre 2008
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 298
    Par défaut
    Bonjour
    C'est bon, j'ai compris parfaitement le temps cpu n'est pas exactement celui de l'exécution du programme; puisque il y a d'autres processus.
    Juste une question concernant la phrase: Tu dit:

    'Si, par exemple, ce processus(? lequel? de l'exemple que tu as donne? si oui) n'est (Donc enlève n'est pas) pas prioritaire par rapport à d'autres processus plus importants, le temps CPU lui ne changera pas, par contre entre chaque calcul, il se peut fort bien que le CPU traite d'autres opérations pour d'autres processus. D'où une différence au final entre le temps d'exécution nécessaire pour finir le processus et le temps CPU toujours identique'.

    Peut être je me trompe? éclaircis moi s'il te plait?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/04/2007, 08h32
  2. Obtenir le temps CPU
    Par Razgriz dans le forum Général Java
    Réponses: 10
    Dernier message: 16/11/2006, 18h14
  3. Mesure du Temps CPU
    Par Fortran90 dans le forum Fortran
    Réponses: 3
    Dernier message: 19/10/2006, 14h00
  4. Temps CPU et temps d'éxécution
    Par t_om84 dans le forum Général Python
    Réponses: 1
    Dernier message: 04/09/2005, 12h27
  5. Temps cpu
    Par chama dans le forum Administration système
    Réponses: 5
    Dernier message: 25/07/2005, 11h41

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