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

Visual C++ Discussion :

Settings Release comment avoir un exe le plus rapide possible


Sujet :

Visual C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 91
    Points : 27
    Points
    27
    Par défaut Settings Release comment avoir un exe le plus rapide possible
    Bonsoir a tous,

    donc voila, je bosse sur un projet et je dois faire des tests de performances, le souci est que j ai laisse les options par defaut en release.
    Les settings pour la rapidite d execution sont pour moi encore du chinois...
    Donc je voulais savoir si je peux gagner de la vitesse en changeant les options, j ai optimiser mon code au max.
    Si on peux gagner de la vitesse, est ce une grosse difference par rapport aux options par defaut?
    Quelqu un sait quelles options choisir, j ai un peu jouer avec, mais ca a pas changer grand chose a mes perfs.
    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 141
    Points : 12 242
    Points
    12 242
    Par défaut
    Il n'y a pas "LA COMPINAISON D'OPTIONS" qui optimise tout et n'importe quoi.

    j ai optimiser mon code au max.
    Désolé de te le dire, mais c'est impossible car l’optimisation maximum est fonction d'un nombre incalculable de paramètres dont bon nombre ont des valeurs transitoires.

    Donc pour revenir à un objectif plus réaliste, la procédure à suivre est d'utiliser un profiler pour voir où le code passe du temps (règle du 80/20, 80% du temps dans 20% du code, ça c'est quand on n’a pas merdé).
    Il faut faire en sorte que les sessions de profiling soient jouées sur une ou plusieurs machines proches de la cible avec des données et des scénarios d'utilisation caractéristiques de l'utilisation du programme.

    Avec le résultat de ces sessions, vous pourrez savoir où et pourquoi votre programme prend du temps. Avec ces informations et en lisant la documentation sur les différentes options d'optimisation, vous pourrez essayer d'optimiser votre code. Pensez à toujours valider chaque choix avec des sessions de profilling.

    Donc pas de magie mais beaucoup de travail.

  3. #3
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par kaiser92 Voir le message
    Les settings pour la rapidite d execution sont pour moi encore du chinois...
    Ce qui va être franchement gênant : pour optimiser un programme, il FAUT savoir :
    • Comment marche le programme.
    • Comment il est écrit.
    • Comment marchent les options du compilateur, et leur effet réel sur le code machine produit.
    • Donc, connaître le CPU sur lequel cela va tourner.
    • Sur quelle OS il va tourner.
    • Dans quelles conditions d'utilisation il va tourner.

    Si ne serait-ce qu'un seul de ces points est du chinois pour toi, désolé de t'annoncer que l'optimisation optimale sera totalement impossible à atteindre...

    Citation Envoyé par kaiser92 Voir le message
    Donc je voulais savoir si je peux gagner de la vitesse en changeant les options, j ai optimiser mon code au max.
    Il est optimisé au maximum de tes connaissances, mais il serait étonnant qu'il soit optimisé au maximum "tout court".

    Citation Envoyé par kaiser92 Voir le message
    Si on peux gagner de la vitesse, est ce une grosse difference par rapport aux options par defaut?
    Entre une version "Debug" et une version "Release" (options par défaut), tu peux avoir un écart énorme.
    Par contre, entre une version "Release par défaut" et "Release optimale", si tu arrives à un gain de 15-20%, c'est presque un miracle... Tu seras plus souvent dans un gain de l'ordre de 0 à 5%.

    Citation Envoyé par kaiser92 Voir le message
    Quelqu un sait quelles options choisir, j ai un peu jouer avec, mais ca a pas changer grand chose a mes perfs.
    Ce qui est tout à fait logique. Typiquement, tu as l'activation des instructions SSE par exemple : OK, si c'est utilisé, tu as un bon gain de perfs. Mais pour cela, il faut faire BEAUCOUP d'opérations en virgule flottante, et surtout, les faire d'une manière compatible avec l'optimisation SSE !!


    Bref, l'optimisation, ça dépend de ce que fait ton programme, comment il le fait, des algorithmes utilisés, de l'implémentation choisie pour l'algo, etc. Comme l'a dit bacelar, il n'y a pas d'options miracle, et le réglage par défaut de Visual est habituellement très convenable pour la plupart des programmes.

    Dans tous les cas, l'optimisation se mesure avec un outil de profiling, et non pas "à l'œil" ou "au feeling". Sans un tel outil, tu peux au mieux mesurer le temps d'exécution de quelques fonctions critiques. Au delà, le temps requis pour instrumenter le code devient prohibitif.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 91
    Points : 27
    Points
    27
    Par défaut
    Ok merci, donc si on peux gagner au max que 5% de release par defaut a release optimise, inutile que j essaie, je pensais a la base gagner un petit 20%, j ai du un peu rever, vu que c est bientot noel.

Discussions similaires

  1. Comment avoir 2 résultats et plus avec index/equiv
    Par Bloubee dans le forum Excel
    Réponses: 1
    Dernier message: 18/10/2011, 14h32
  2. Comment créer une fenêtre la plus grande possible
    Par SuperSeb95 dans le forum Débuter
    Réponses: 19
    Dernier message: 01/06/2011, 12h42
  3. Comment réparer un système le plus rapidement possible
    Par pierrot10 dans le forum Administration système
    Réponses: 3
    Dernier message: 25/03/2011, 08h32
  4. Réponses: 4
    Dernier message: 04/11/2007, 10h36
  5. Comment avoir des interfaces Qt plus jolies ?
    Par Tux1 dans le forum PyQt
    Réponses: 3
    Dernier message: 02/10/2006, 13h39

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