!! Rapidité !!

Résolu
ZogStriP Messages postés 164 Date d'inscription dimanche 16 novembre 2003 Statut Modérateur Dernière intervention 5 juillet 2005 - 17 juil. 2004 à 18:13
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 - 18 juil. 2004 à 14:28
Je voudrais savoir qu'est ce qui est plus rapide ?

1) Une division d'un grand nombre par un plus petit
2 )Ou une multiplication de deux nombre ?

??

Merci

ZogStriP
IA pour : Incomplet de l'Ancéphale %-6
http://blog.developpeur.org/zogstrip/
8-) www.rubikscubor.fr.st 8-)

#define ThatTheQuestion ((bb) || !(bb))

84 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 22:19
au fait il y a combien de registres st(i) pour la fpu?? 8?
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
17 juil. 2004 à 22:22
9 mais mais st(0) est reservé
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
17 juil. 2004 à 22:26
oula, g dit une betise : il y en a bien 9 mais ce n'est pas st(0) ki est reservé, il y a simplement un registre de flag ki permet de notifier toutes divisions par zero, overflows...etc, dsl pour l'erreur
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2004 à 22:34
Je suis vraiment dans les choux, j'avais tout bon sauf que au debut j'excluais les nbr impairs, la senilite.....
Donc dispo.
Pour info, je ne me sers que des 3 registres generaux, rien a sauvegarder.

Vous pouvez adresser de st(0) jusque st(7).

ciao...
BruNews, Admin CS, MVP Visual C++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 22:36
ce qui nous fait 8
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 22:42
Il est dispo ou ca le code?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2004 à 22:42
N'achete pas trop de livres de base qui vont t'embrouiller avec des instructions totalement obsoletes, en asm 32 bits suffit de savoir les mnemonics Intel. Tu les as d'ailleurs avec MASM32. Tout le reste est pure logique.
Pour l'optimisation faut lire Michael Abrash, le gros bouquin noir "Programmation graphique C/C++ Assembleur" est on ne peut mieux.

ciao...
BruNews, Admin CS, MVP Visual C++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2004 à 22:43
vecchio56 > je te le poste de suite.

ciao...
BruNews, Admin CS, MVP Visual C++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2004 à 22:47
proj complet parti.

ciao...
BruNews, Admin CS, MVP Visual C++
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 22:47
et "Zen de la programmation graphique"?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2004 à 22:50
Du meme auteur forcement bien, c'est le maitre de l'optimisation.
Je le lisais quand paraissait en articles separes, nous rajeunit pas tout ça.

ciao...
BruNews, Admin CS, MVP Visual C++
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 22:50
Merci pour le code
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 22:52
T'es sur que ca vaut le coup, c'est pas un peu 'dépasse'?
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
17 juil. 2004 à 22:54
Bon BruNews, je ny arrive pas trop, jte poste un bout de code, dis moi stp si c un bon debut :

__asm {
push ebp
mov ebp, esp
sub esp, 8
mov esp, ecx
mov dword ptr[esp + 4], 0
fld qword ptr[esp]
fsqrt
sub esp, 8
fstp qword ptr [esp]
mov eax, dword ptr[esp]
pop ebp
}

je ne pense pas kil faille un truc come ca, mais serieu je blok, bocou plus dur que ce ke je pensais..
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2004 à 22:57
Si tu peux, prends celui que j'ai mis plus haut. Tout est a savoir dedans, il enumere au contraire tout ce qu'il convient d'ecarter a partir du Pentium, va tranquille c'est rien que du bon.

ciao...
BruNews, Admin CS, MVP Visual C++
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 23:00
Sinon c'est quoi selon toi les ouvrages de références pour l'assembleur s'il y en a d'autres?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2004 à 23:01
faut prendre le modele que j'avais mis plus haut et supprimer la stack frame de ton code, c'est mortel pour les perfs.

sub esp, 8
mov esp, ecx ????
si tu veux entrer valeur dans la pile
mov [esp], ecx
sinon tu deplaces esp et badaboum

je te poste le proj, vaut mieux que tu regardes et tu demanderas si tu ne comprends pas.

ciao...
BruNews, Admin CS, MVP Visual C++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 juil. 2004 à 23:06
Meme reponse, point trop de bouquins en asm hormis les manuels Intel. Mieux vaut des books d'algo en C comme ceux de Sedgewick et ensuite si besoin on s'ecrit sa bibli en haute performance en asm.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
17 juil. 2004 à 23:23
bon voila ton code alors (c pour le reprendre ds mes kestions)
__asm {
xor eax, eax
lea edx, [esp-12]
test ecx, ecx
ja short nbrOK
jb short sqrtExit
inc eax
ret 0
nbrOK:
mov esp, edx ; ESP -= 12
mov [edx+8], ecx ; sauve nbr
mov [edx+4], eax ; ZERO
mov [edx], ecx
fild qword ptr[edx]
nop
fsqrt
nop
fistp dword ptr[edx]
nop
pop ecx
xor edx, edx
mov eax, ecx
add esp, 4
mul ecx
test edx, edx
pop ecx ; ECX = nbr, ESP revenu
jnz short faux
cmp eax, ecx
je short sqrtExit ; sort NON ZERO pour OK
faux:
xor eax, eax
sqrtExit:
ret 0
}

- les seuls trucs ke j'ai pas compris, ce sont les "test reg, reg", je sais ke ca fait un 'et logik', enfin jvois pas le rappor, donc si tu pouvais m'expliker ce point la...
Puis ce que ji suis oci, kan tu fais un pop ecx par exemple, implicitement, il y a un "add esp, 4" ?

merci pour le code, ca n'avait rien a voir avec ce ke j'ai fait, et jme dis ke j'ai ENORMEMENT de boulot..

Merci

++
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 23:29
BruNews tu ma pas dit ce que tu pensais de mon code que je t'ai envoyé
0
Rejoignez-nous