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

Windows Forms Discussion :

Mesurer temps exécution


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Par défaut Mesurer temps exécution
    Bonjour à Tous,

    je veux calculer le temps d'exécution d'un bout de mon code. j'utilise pour cela l'objet TimeSpan, mais vu que la durée est trop petite, j'obtiens toujours 0 comme durée d'exécution.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    dim dateDepart as DateTime
    Dim ts As TimeSpan
     dateDepart = DateTime.Now
    ' Code à mesurer
    ts = DateTime.Now.Subtract(dateDepart)
    Console.WriteLine(ts.TotalMilliseconds.ToString)
    sachant que je suis sur le Framework 1.1, pourra quelqu'un me dire comment obtenir la durée d'exécution ?

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Peut-être que ton traitement est vraiment très court.
    Lorsque j'exécute ce morceau de code, j'ai bien 1000 (enfin 999.328, plus précisément) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim dateDepart As DateTime
    Dim ts As TimeSpan
    dateDepart = DateTime.Now
    System.Threading.Thread.Sleep(1000)
    ts = DateTime.Now.Subtract(dateDepart)
    Console.WriteLine(ts.TotalMilliseconds.ToString)
    Sinon, utilise DateTime.UtcNow.Ticks plutôt que DateTime.Now, c'est plus précis (et c'est ce qui est utilisé par StopWatch).

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    le mieux est d'utiliser un "chrono"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim chrono as new system.diagnostics.stopwatch
    chrono.Start
     
     
    chrono.Stop
    chrono.elapsedmillisecondes ' contient le nombre de millisecondes
    chrono.reset
    pour mesure des choses inférieures à la milliseconde et juste à des fins de debug, faire une boucle qui execute 100x la tache
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    le mieux est d'utiliser un "chrono"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dim chrono as new system.diagnostics.stopwatch
    chrono.Start
    chrono.Stop
    chrono.elapsedmillisecondes ' contient le nombre de millisecondes
    chrono.reset
    Ben c'est le StopWatch. Il n'est pas disponible avec le Framework 1.1.
    Tu as peut-être raté ça :
    Citation Envoyé par safisafi Voir le message
    sachant que je suis sur le Framework 1.1

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    je l'avais raté en effet, et puis la seule chose que je sais sur le framework c'est qu'il est incomplet et inutile de travailler avec ...
    surtout que vb express est gratuit et qu'une machine pouvant avoir le framework 1 peut avoir le 2
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    je l'avais raté en effet, et puis la seule chose que je sais sur le framework c'est qu'il est incomplet et inutile de travailler avec ...
    surtout que vb express est gratuit et qu'une machine pouvant avoir le framework 1 peut avoir le 2

    Qu'est ce que tu sais de son environnement de travail ? bon d'accord il n'y plus beaucoup de boite qui utilisent le framework 1.1 mais il y en a encore quand même quelques unes (c'était le cas de Peugeot en juin dernier qui avait encore des appli en 1.1).

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Par défaut
    Merci pour vos réponses !

    alors pour répondre à sperot51, effectivement nous sommes toujours sur le 1.1 parce qu'il s'agit d'une ancienne version de l'application qui est déjà chez le client et à laquelle il faut ajouter certaines fonctionnalités sans tout refaire.

    sinon, en utilisant le 'DateTime.UtcNow.Ticks', j'ai bien une valeur différente de 0. si maintenant je veux convertir cette valeur en ms, comment faire ?

  8. #8
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    passer du framework 1.1 au 2 ne fait rien changer au code !

    il n'y a que le framework à installer chez le client, ca prend 1 minute
    et si tu dois de toute façon faire une mise à jour chez le client, il est possible de l'installer en même temps



    nous on est passé du framework 2 au 3.5 pendant le développement sans rien réécrire non plus et avec un apport en qualité de développement


    sinon google a l'air de dire que 10000 ticks = 1ms
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Par défaut
    le passage du 2 au 3.5 oui je suis d'accords. par contre du 1.1 au 2.0 là c'est pas évident, ça dépend surtout de l'application : dans mon cas c'est de l'ASP.net , plusieurs fonctions sont devenues absolètes et même la structuration du projet n'est pas la même...

  10. #10
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    passer du framework 1.1 au 2 ne fait rien changer au code !

    il n'y a que le framework à installer chez le client, ca prend 1 minute
    Sur 5000 postes ? (par exemple).

  11. #11
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Citation Envoyé par safisafi Voir le message
    sinon, en utilisant le 'DateTime.UtcNow.Ticks', j'ai bien une valeur différente de 0. si maintenant je veux convertir cette valeur en ms, comment faire ?
    Citation Envoyé par sperot51 Voir le message
    sinon google a l'air de dire que 10000 ticks = 1ms
    Oui, c'est ça.

    Citation Envoyé par sperot51 Voir le message
    il n'y a que le framework à installer chez le client, ca prend 1 minute
    Citation Envoyé par safisafi Voir le message
    dans mon cas c'est de l'ASP.net
    Citation Envoyé par Bluedeep Voir le message
    Sur 5000 postes ? (par exemple).
    Ben non, sur 1 serveur (peut-être plusieurs).

  12. #12
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Sur 5000 postes ? (par exemple).

    dès l'instant où une application doit être mise à jour, il y en général un protocole de mise à jour, voir même un automatisation de ces mises à jour

    donc moi dans ce contexte ca me choquerait pas d'installer un framework ...


    et sans parler de ce qu'un administrateur réseau peut faire en 3 clics ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  13. #13
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    dès l'instant où une application doit être mise à jour, il y en général un protocole de mise à jour, voir même un automatisation de ces mises à jour

    donc moi dans ce contexte ca me choquerait pas d'installer un framework ...


    et sans parler de ce qu'un administrateur réseau peut faire en 3 clics ...
    La question n'est pas du temps que va nécessiter un administrateur mais du temps pour les services de prods pour qualifier l'ensemble du parc applicatif pour un changement de version d'une techno donnée. Ceci est particulièrement vrai dans certaines entreprises où une techno particuliére est utilisée pour des entités applicatives non stratégiques et une (ou des) autres pour les applicatifs stratégiques. Cette situation n'a absolument rien d'exceptionnelle. (quand c'est pour des entités applicatives stragégiques, en général un suivi et une qualification des nouvelles versions est faite au fur et à mesure).

Discussions similaires

  1. Mesurer temps d'exécution d'un traitement dans un script shell
    Par AJ_ing dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 12/07/2012, 14h59
  2. [XL-2010] [DEBUTANT]Mesure temps d'exécution d'une macro et/ou d'une fonction
    Par KNIZOU dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/04/2010, 11h36
  3. [VBA - ACCESS] Temps exécution exportation
    Par binouzzz19 dans le forum VBA Access
    Réponses: 4
    Dernier message: 16/10/2007, 11h11
  4. mesure temps exécution
    Par hagui dans le forum Visual C++
    Réponses: 2
    Dernier message: 18/04/2007, 13h41
  5. [A97] : Temps Exécution code en Minutes, Secondes
    Par JeremieT dans le forum Access
    Réponses: 2
    Dernier message: 07/06/2006, 11h44

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