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

C# Discussion :

[C#] [utilisation de ElapsedMilliseconds]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 206
    Par défaut [C#] [utilisation de ElapsedMilliseconds]
    Bonjour,

    je teste ElapsedMilliseconds avec ce programme ElapsedMilliseconds mais entre le temps renvoyé en millisecondes 94361(1mn 57) et le temps chronométré 1mn et 35 il y a une différence de plusieurs secondes. Est-ce que quelqu'un peut m'expliquer pourquoi?
    Merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    On est pas devins... Si tu nous donnes aucun détail, on pourra pas t'aider

  3. #3
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    206
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 206
    Par défaut
    Désolé j'avais oublié de copier le code.
    J'ai réfléchi et je vais poser ma question autrement.
    Le programme ci-dessous met sur ma machine environ 1000 millisecondes pour se dérouler. Si je l'exécute sur une autre machine plus performante sera t'il plus rapide? A mon avis je pense que oui mais pouvez-vous me le confirmer?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Diagnostics;
     
    namespace ConsoleApplication1
    {
        class Program
        {
     
            static void Main(string[] args)
            {
                long i = 0;            
                Stopwatch sw = Stopwatch.StartNew();
     
                sw.Start();
                for (i = 0; i < 662000000; i++)
                {              
     
                }
                sw.Stop();
                Console.WriteLine("Temps : " + sw.ElapsedMilliseconds.ToString());
     
     
            }
        }
    }

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par cescu Voir le message
    Si je l'exécute sur une autre machine plus performante sera t'il plus rapide?
    Ben a priori oui... enfin, si le processeur est plus rapide. Pour une boucle vide, avoir plus de RAM ou une super carte graphique n'apporterait rien.

  5. #5
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    la différence est ton calcul, 94361 ne te donne pas 1min57!, mais bien 1m34,361.
    Calcul :
    94361/1000 = 94,361 nombre de secondes
    94,361 - 60(1 minute) = 34.361 secondes
    donc le temps d'execution est de 1 minutes 34 secondes 361 millièmes.
    Sachant que ton temps de réaction serait inférieur à 1 seconde,
    tu obtiens 1 minutes 35.
    Est-ce que quelqu'un peut m'expliquer pourquoi?
    Réponse OUI, tu ne sais pas calculer...

  6. #6
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    encore une chose,
    A mon avis le code se déroulerait plus rapidement mais comme tu n'as mis aucun traitement dans ta boucle la différence sera négligeable, il faudra faire le test.
    Par contre, si tu veux arrêter ton execution pendant 1 seconde, il existe une fonction dans le framework qui le fait très bien...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.Threading.Thread.Sleep(1000);

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

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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