GNT sans publicité, site mobile, fonctionnalitées exclusives...

Différence de temps d'execution 32/64 bits

Le
TheFrenchLeaf
Bonjour,

J'explique le problème recontré :
Je lance sur une machine 64 bits windows un programme soit en mode 64
soit en mode 32.

Lorsque je le lance en mode 32 bits il est beaucoup plus lent qu'en
mode 64.

Mon programme contient beaucoup de stl::vector (resize/reserve/
access).

Note :
Sous windows je compile avec visual 2008.
Sous linux 64 bits les timings sont correct (à peu pres les memes
temps en 32 et 64 bits).

Pensez vous qu'il s'agit d'un problème lié à la STL ? (Comme le
problème n'est rencontré que sur des machines 32 bits).
J'ai testé sur des machines windows purement 32 bits et les timings
sont lent aussi.

Merci d'avance d'engager la discussion.
Cordialement,
Pierre
Lire les 13 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien LE LEZ
Le #19684731
On Thu, 2 Jul 2009 08:37:27 -0700 (PDT), TheFrenchLeaf

Lorsque je le lance en mode 32 bits il est beaucoup plus lent qu'en
mode 64.



Quelles sont les options de compilation utilisées ?
Fabien LE LEZ
Le #19685561
TheFrenchLeaf
Lorsque je le lance en mode 32 bits il est beaucoup plus lent



D'une manière générale, si tu veux savoir pourquoi un programme est
lent, la seule solution fiable est d'utiliser un profiler.
TheFrenchLeaf
Le #19686331
On 2 juil, 23:34, Fabien LE LEZ
TheFrenchLeaf
>Lorsque je le lance en mode 32 bits il est beaucoup plus lent

D'une manière générale, si tu veux savoir pourquoi un programme est
lent, la seule solution fiable est d'utiliser un profiler.



Bonjour,
Merci pour tes réponses.
Connais tu un profiler gratuit sous visual 2008 ?

Note : Les options de compilation sont les options par défaut.
Fabien LE LEZ
Le #19686721
On Fri, 3 Jul 2009 00:18:30 -0700 (PDT), TheFrenchLeaf :

Connais tu un profiler gratuit sous visual 2008 ?



Il me semble que certaines versions de VS 2008 intègrent un profiler.
Sinon, LTprof est d'un prix raisonnable (et a, je crois, une version
de démo limitée dans le temps).

Note : Les options de compilation sont les options par défaut.



C'est peut-être là le problème. Si tu as un souci de performances, il
faut bien étudier toutes les options liées à l'optimisation.
A priori, le compilateur i386 et le compilateur AMD64 sont deux
compilos différents ; il ne serait pas étonnant que les options
optimales soient différentes.

Du côté des options de compilation, on voit parfois des trucs
marrants : par exemple, j'ai un programme qui n'est rapide que compilé
en -O1 ; les options -O2 et -O3, censées améliorer l'optimisation,
rendent le programme bien plus lent.
J'ai aussi vu un programme d'une centaine de lignes compiler et
fonctionner rapidement sans optimisation, mais bloquer complètement
VC++ 2008 avec /O1 (le compilateur n'arrivait pas à s'en sortir ; je
l'ai arrêté de force au bout de quelques minutes).
TheFrenchLeaf
Le #19686921
Je regarde la avec AMD CodeAnalyst, mais je ne sais pas si je vais
voir ce qui bloque.
Publicité
Suivre les réponses
Poster une réponse
Anonyme