Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
939 connectés 

  FORUM HardWare.fr
  Programmation

  [C/C++] question en terme de vitesse sur les operations de bases

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C/C++] question en terme de vitesse sur les operations de bases

n°110542
slvn
Posté le 11-03-2002 à 16:54:53  profilanswer
 

le temps que mets un processeurs a agir sur des registres des 8 bits ( ex:  8 bits + 8bits) est il 4 fois inferieur au temps que le processeur mettre a faire 32 bits + 32 bits :)
 
autrement dit, pour faire des operations des beaucoups de bits sur beaucoups de bits, vaut il mieux scinder cela en paquet des 8 bits, ou en paquet des 32 bits ??

mood
Publicité
Posté le 11-03-2002 à 16:54:53  profilanswer
 

n°110549
BENB
100% Lux.
Posté le 11-03-2002 à 17:07:47  profilanswer
 

slvn a écrit a écrit :

le temps que mets un processeurs a agir sur des registres des 8 bits ( ex:  8 bits + 8bits) est il 4 fois inferieur au temps que le processeur mettre a faire 32 bits + 32 bits :)
 
autrement dit, pour faire des operations des beaucoups de bits sur beaucoups de bits, vaut il mieux scinder cela en paquet des 8 bits, ou en paquet des 32 bits ??  




Quel proc ?
dur un 8088 ca doit se valoir :D
 
Depuis le 386 il vaut mieux faire par 32bits clairement...

n°110559
slvn
Posté le 11-03-2002 à 17:18:15  profilanswer
 

:d
c est pour un proc 32 bits (amd)
 
j avias entendu dire que certain, compilo arrivaient a "optimiser" le code :??:  
 
(pour preuve, le meme programme s execute en 330 ms quand il est compilé avec borland C++, et 800 ms avec Visula C++ )   (sur le meme pc qui est un TB 1,2)

n°110608
chrisbk
-
Posté le 11-03-2002 à 18:10:18  profilanswer
 

(pour tes difs de vitesse fait bien gaffe a compiler en release sous visu)
 
Sinon vaut mieux direct du 32, les proco se demerdent encore bien quand meme :D
 
Sinon oui les compilo vont tacher d'optimiser le code ASM généré

n°110617
greg113
Posté le 11-03-2002 à 18:16:57  profilanswer
 

Tu peux aussi incruster du code assembleur dans ton code C/C++, l'avantage c'est que tes opérations se feront directement dans les registres du processeur, ce qui est nettement plus rapide que ta mémoire vive :)
 
Vive les registres ;)
 
@+

n°110621
chrisbk
-
Posté le 11-03-2002 à 18:18:55  profilanswer
 

greg113 a écrit a écrit :

Tu peux aussi incruster du code assembleur dans ton code C/C++, l'avantage c'est que tes opérations se feront directement dans les registres du processeur, ce qui est nettement plus rapide que ta mémoire vive :)
 
Vive les registres ;)
 
@+  




 
?
 
Aux dernieres nouvelles tes calculs se font toujours via les registres (enfin, fo au moins une operande qui soit un registre), que ce soit quand c'est toi qui ecrit le code ASM ou le compilo
 
regarde le code généré par VC par ex........

n°110623
slvn
Posté le 11-03-2002 à 18:24:50  profilanswer
 

il parle d optimisation je pense :)
 
 
 
... quant a Visual C++ je viens de l passer en realease -> 200 ms !! (ca serait bien que tu m explique a quoi ca sert car ca l air eficace:) )
!!!!! attention !!!! c est a prendre aver des pincettes, car le prog sert a "crypter" et quand je passe VCC en release, le cryptage ne marche pu !!!
(l entrée une fois decryptée est differente...)

n°110633
chrisbk
-
Posté le 11-03-2002 à 18:32:32  profilanswer
 

Visu propose par defaut deux modes de compilation : debug et release
 
en debug, visu optimise que dalle, insere dans ton code des infos qui permettront le debug de ton prog
Conséquence : programme lent et taille du prog importante
 
 
En release, visu va optimiser ton code et virer tout ce qui etait necessaire pour le debug  
resultat: vitesse d'execution accrue et taille du prog qui chute
 
 
normalement si un programme fonctionne en debug il tournera aussi en release . Si jamais ce n'est pas le cas c'est que t'as merdé quelque part dans ton code (le premier truc qui me vient a l'esprit c'est un depassement de capacité, genre ecrire en truc[20] alors que truc va que jusqu'a 10 . ce genre de truc passe parfois 'silencieusement' en debug, mais pas en release . Verifie bien tout ca, donc :)

n°110643
wpk
Posté le 11-03-2002 à 18:55:14  profilanswer
 

surtout qu'en debug, visual initialise tes variables, et checke la memoire à chaque allocation (ce qu'il fait plu en release)=> il peut y avoir quelques petites differences entre le debug et la release pour les programmes un peu euh, comment dirais-je.... pas propres sur eux :D

n°110683
bjone
Insert booze to continue
Posté le 11-03-2002 à 20:26:03  profilanswer
 

sinon fo pas oublier que certain compilos font de très bonnes optimisations de code, mais que leur temps d'initialiasation de leur run-time est 1 poil plus long........

mood
Publicité
Posté le 11-03-2002 à 20:26:03  profilanswer
 

n°110695
bjbebert
Posté le 11-03-2002 à 20:48:49  profilanswer
 

slvn a écrit a écrit :

autrement dit, pour faire des operations des beaucoups de bits sur beaucoups de bits, vaut il mieux scinder cela en paquet des 8 bits, ou en paquet des 32 bits ??  



Une opération binaire de base (décalages, additions, masques...) n'est pas plus longue en 32 bits qu'en 8.
Donc, au maximum, utilise du 32 bits.

n°110732
slvn
Posté le 11-03-2002 à 22:08:51  profilanswer
 

bon, avant de debugger, je ferais bien de tout passer en 32 bits si j ai bien compris :d
 
ce qui est drole, c est qu avec borland, le programme marche  
(cryptage -> decrytage  ok)
pareil, en mode debug de VCC :)
 
mais sous linux, (g++) et avec visual (release)
crypte -> decrypte -> sortie != entrée :) pas de bug, :)  je viens de faire un cypteur decrypteur aleatoire !
 
merci pour vos reponses ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C/C++] question en terme de vitesse sur les operations de bases

 

Sujets relatifs
[XML/Schema] question philosophique sur Schema. -> prob. tech. SchemaQuestion de C
[C] API32 ss MFC, question simplePetite question de... design objet?
oups pitite questionquestion sur richedit et delphi 6
Question cruciale !!!Petite question ?
[debutant C++] question sur les caractères..[C++] Question sur l'héritage et la surcharge de méthodes virtuelles.
Plus de sujets relatifs à : [C/C++] question en terme de vitesse sur les operations de bases


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR