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 :

temps d'exécution d'un programme et contenu du PC


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Février 2011
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 188
    Points : 51
    Points
    51
    Par défaut temps d'exécution d'un programme et contenu du PC
    Bonjour,

    Le temps d'exécution d'un programme écrit en C++ (ou dans n'importe quel langage) peut être plus optimisé(plus petit) si on l'exécute sur une machine puissante et presque vide ?

    Merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Hello,

    Un programme ne s'optimisera pas tout seul.

    Mais sinon oui, il s'exécutera bien évidement plus rapidement sur un ordinateur plus puissant et/ou si aucun autre programme ne "consomme" du temps CPU derrière.

    Il n'y aurait aucun but à l'évolution du matériel informatique sinon.

    (AMD réveille toi ! Yen à marre qu'Intel profite de son avance pour ne rien sortir de nouveau...)

  3. #3
    Membre du Club
    Inscrit en
    Février 2011
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 188
    Points : 51
    Points
    51
    Par défaut
    Merci pour votre réponse.

    Deux autres questions svp :

    1. les messages d'affichage peuvent ils ralentir ce temps d'exécution?
    2. L'utilisation d'une bibliothèque (par exemple l'utilisation de boost pour générer des nombres aléatoires dans un code en c++) influence t-il ce temps d'exécution?

  4. #4
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Tout influence le temps d'exécution : plus il y a de calculs / traitements et plus l'exécution sera longue.

    Les entrées / sorties (lecture / écriture dans un fichier ou sur le réseau, mais aussi l'affichage à l'écran) sont des opérations "particulièrement lentes".
    Mais tout est relatif, un cout prend probablement quelques (dizaines ?) de microsecondes. Par rapport à une addition c'est énorme, mais par rapport à la lecture d'un fichier c'est négligeable.

  5. #5
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Cependant, à chaque fois qu'on se pose ces questions, c'est qu'on a un programme qu'on trouve trop lent.

    Lancer le programme sans autre programme actif en parallèle (pas de jeu, ni de programme de calcul...)

    En général, le meilleur moyen de gagner en rapidité, c'est de changer les algorithmes, pour réduire la complexité des calculs.
    Par exemple, passer d'un tri en N! à un N², ou mieux N log(N). (en nombre d'accès aux éléments, N étant leur nombre).

    Ensuite, améliorer la qualité pour réduire le facteur multiplicatif.
    Passer de 4*N*log(N) à 2*N*log(N).

    Enfin, si tout est déjà théoriquement optimal, on peut considérer le matériel.

    Toute optimisation ne doit cependant être faite une fois qu'on sait ce qui prend effectivement du temps, et donc qu'on a utilisé un profiler.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  6. #6
    Invité
    Invité(e)
    Par défaut
    Et on fait ça comment concrètement ? j'ai pas compris grand chose

  7. #7
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Concrètement, je n'ai jamais utilisé de profiler, parce que je n'ai jamais eu de soucis de performance.

    Il faudrait que tu nous explique un peu ton programme, pour qu'on puisse être un peu plus concret.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/05/2008, 19h15
  2. temps d'exécution d'un programme
    Par tapouni dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/05/2008, 16h14
  3. Mesurer le temps d'exécution d'un programme
    Par ArthurC dans le forum Pascal
    Réponses: 3
    Dernier message: 21/04/2008, 14h28
  4. Connaitre le temps d'exécution d'un programme
    Par ypascal dans le forum MATLAB
    Réponses: 2
    Dernier message: 02/07/2007, 18h01
  5. Temps d'exécution d'un programme
    Par temar dans le forum Prolog
    Réponses: 3
    Dernier message: 14/06/2006, 21h17

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