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 :

VC2003 vs VC2005 => performance ???


Sujet :

Visual C++

  1. #1
    Membre régulier Avatar de Groove
    Inscrit en
    Décembre 2002
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 97
    Points : 93
    Points
    93
    Par défaut VC2003 vs VC2005 => performance ???
    Bonjour,

    Je viens testé Visual C++ 2005 et je me suis demandé: Quant est t'il des perfs?

    Pour cela j'ai utilisé un Dothan 1.5 et un programme de raytracer que j'ai fait l'an dernier que j'ai recompilé pour VC2003 et VC2005 en mode release avec optimisation SSE2.

    Resultat:
    Raytracer compilé avec VC2003: 10s pour une scene
    Raytracer compilé avec VC2005: 20s pour la meme scene

    Et la je comprends pas...

    Avez vous des experiences de comparatif de performances de VC2003 et VC2005 ? Avez vous une explication a cette lenteur constaté avec la version 2005 ?

    EDIT:
    Le code utilisé est disponible a l'adressela si vous voulez tester par vous meme. Mes resultats on eté obtenu avec la scene "full".
    http://prdownloads.sourceforge.net/glf/raytrace-b1.0.zip?download

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    hum ,bizarre je ne peux pas/plus faire l'essai avec VC2003 mais VC6 et VS2005 .
    ça fonctionne avec vc6 ?

  3. #3
    Membre régulier Avatar de Groove
    Inscrit en
    Décembre 2002
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 97
    Points : 93
    Points
    93
    Par défaut
    Je ne pense pas, en tout cas il n'y a pas de project pour VC6 integré.

    M'enfin je n'ai pas ustilisé de super feature de la STL alors ca devrait passé avec deux trois corrections.

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    au fait tu es sur de tes conditions de tests ?
    mode release dans les 2 cas ?
    parce que en mode debug vc2005 a l'air nettement plus lent ça je le constate quand je debug mes projets.

  5. #5
    Membre régulier Avatar de Groove
    Inscrit en
    Décembre 2002
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 97
    Points : 93
    Points
    93
    Par défaut
    Oui je suis sur de mes conditions de tests. D'ailleur, Un raytracer seulement deux fois plus lent en mode release quand mode debug... heum non c'est par facteur 4, 5 (voir plus) que l'on gagne avec ce type d'application tout comme tous les application graphique basé sur CPU.

    J'ai pris bien soin de preciser "en mode release" dans mon post pour ne pas avoir ce type de reponse pour newbees, que faut-il faire d'autres ?

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    a mince j'avais pas bien lu !

  7. #7
    Membre régulier Avatar de Groove
    Inscrit en
    Décembre 2002
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 97
    Points : 93
    Points
    93
    Par défaut
    C'est pas grave ^^.

    Voila un moment que je fais des recherches a ce sujet et rien rien rien :/

  8. #8
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 703
    Points
    10 703
    Billets dans le blog
    3
    Par défaut Re: VC2003 vs VC2005 => performance ???
    Citation Envoyé par Groove
    Le code utilisé est disponible a l'adressela si vous voulez tester par vous meme. Mes resultats on eté obtenu avec la scene "full".
    http://prdownloads.sourceforge.net/glf/raytrace-b1.0.zip?download
    il n'y a pas vraiment de code là, à part celui de tiny xml.

  9. #9
    Membre régulier Avatar de Groove
    Inscrit en
    Décembre 2002
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 97
    Points : 93
    Points
    93
    Par défaut
    Je viens de trouver une reponse.
    Dans les options "code generation" il y a une entrée nommée "Floating Point Model (fp)". Par defaut, le compilateur utilise "/fp:precise" et j'ai essayé en utilisant "/fp:fast" j'obtiens:

    10.32s avec la version VC2003 de mon raytracer
    12.59s avec la version VC2005 de mon raytracer avec "/fp:fast"
    20.70s avec la version VC2005 de mon raytracer avec "/fp:precise"

    Bon le compte n'y est toujours pas 7 seconds de gagner c'est deja pas mal. Mais que fait "/fp:precise"? S'il s'agit de remplacer les float par des double, cela pourrait en partie repondre a la question mais usuellement les doubles ne coutent que 25% plus cher que les float. De plus, si c'est le cas, je trouve surprenant le choix de mettre l'option "/fp:precise" par defaut.

    J'ai realisé des comparaisons avec O1, O2 et Ox, le plus rapide est Ox mais ca se joue au dixieme, il y a toujours au moins 2s a gagner.

  10. #10
    Membre régulier Avatar de Groove
    Inscrit en
    Décembre 2002
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 97
    Points : 93
    Points
    93
    Par défaut
    Dans le repertoire src.

    Je viens de verifier dans le doute et il y est bien.

  11. #11
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 753
    Points : 10 703
    Points
    10 703
    Billets dans le blog
    3
    Par défaut
    Ah oui désolé, j'ai du louper la manip de dézippage (??).
    As-tu recompiler la bibliothèque "glm" avec VC++ 2005 (même settings) ? Losr de sa compilation, + celle de ton projet, active l'optimisation globale aussi.
    http://gilles-vollant.developpez.com.../optimisation/

  12. #12
    Membre régulier Avatar de Groove
    Inscrit en
    Décembre 2002
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 97
    Points : 93
    Points
    93
    Par défaut
    La bibliotheque n'est fait que de header donc compilé avec le raytracer.

    J'ai realisé d'autres tests sur un Athlon XP 2800+ (2083 MHz) et pour la meme scene les perfs etait de:

    9s avec la version VC2003 de mon raytracer
    11s avec la version VC2005 de mon raytracer avec "/fp:fast"
    15s avec la version VC2005 de mon raytracer avec "/fp:precise"

    La farse du parametre /fp semble moins important mais au finale il y a encore 2s de perdu.

    Enfin un test sur P4c 3GHz
    10.13 avec la version VC2003 de mon raytracer
    mais la version VC2005 refuse de se lancer evoquant une "erreur de configuration du programme..."

    Sur le P4 je ne peux installé VC2005, du coup j'ai pensé qu'il faudrait copié les dlls de vc msvcr71.dll et une autre dont j'ai oublié le nom. Hors il n'y a pas de fichier "msvcr80.dll" avec Visual Studio 8

  13. #13
    Membre régulier Avatar de Groove
    Inscrit en
    Décembre 2002
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 97
    Points : 93
    Points
    93
    Par défaut
    J'ai fait un petit comparatif avec GCC: http://www.g-truc.net/actuscreens.html

  14. #14
    Invité
    Invité(e)
    Par défaut
    Je remonte ce sujet parce que j'ai cherché longtemps une réponse à la même question. En fait il y a un bug dans dev studio quand on importe un projet 2003 ou 2005 en VC2008. L'option d'optimisation /O2 (mode release) semble correctement migrée mais elle n'est pas prise en compte par le compilateur. Pour le corriger, le bypass consiste à éditer les propriétés du projet, choisir un autre mode d'optimisation, appliquer, puis revenir à /O2, et réappliquer.

    Tous ceux qui comme moi avaient perdu 30% de perfs en passant de VC++2003 à 2008 trouveront peut-être ici l'origine de leur problème.

    Le même problème existe en migrant de 2003 à 2005, c'est pourquoi je poste cette note ici.

    Pour plus d'infos : http://support.microsoft.com/kb/958148

  15. #15
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    Merci pour l'info,
    Par acquis de conscience je vais appliquer la manip à tous mes projets !

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/05/2007, 16h12
  2. Passage VC2003->VC2005 TypeDef et Constructeur
    Par alexadvance dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 27/02/2007, 11h04
  3. [ POSTGRESQL ] Problème de performance
    Par Djouls64 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 26/05/2003, 16h18
  4. [JDBC][connexion persistante] performances avec JDBC
    Par nawac dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 06/05/2003, 10h37
  5. performance entre 3DS, ase, asc ...
    Par amaury pouly dans le forum OpenGL
    Réponses: 3
    Dernier message: 24/03/2003, 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