Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Quel est l'assembleur le plus rapide ? [ Divers / Général ] (epineurien)

mardi 25 mars 2008 à 08:58:53 | Quel est l'assembleur le plus rapide ?

epineurien

Salut à tous !
Une nouvelle question , suite à quelques infos trouvées sur le net ...
J'utilise MASM32 , mais de nombreux sites dises qu'il produit un code moins rapide que d'autre (comme NASM ou TASM) , du coup je pense sérieusement changer , mais je croyais tout les assembleurs produisait le même code ? un mov eax,eax ne donnera pas le même éxécutable suivant le compilateur qu'on utilise ? les opcodes sont pourtant fixés non ?
Si il y a des différences , savez vous lequel , de NASM ou de TASM (ou un autre) , est le plus rapide ?
Merci ...


Visitez le site de ma librairie graphique :  http://hydrargyrum.ifrance.com  [ Lien ] !

mardi 25 mars 2008 à 10:42:18 | Re : Quel est l'assembleur le plus rapide ?

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
C'est du nimporte quoi, en ASM on obtient le binaire qu'on a codé et rien de plus.

ciao...
BruNews, MVP VC++

mardi 25 mars 2008 à 11:01:36 | Re : Quel est l'assembleur le plus rapide ?

epineurien

OK , c'est ce que je pensait , mais comme j'arrête pas de voir des "MASM32 c'est nul" , "c'est lent" , "c'est pas un vrai assembleur" ... je me posais la question .
Merci !


Visitez le site de ma librairie graphique :  http://hydrargyrum.ifrance.com  [ Lien ] !

mardi 25 mars 2008 à 11:14:02 | Re : Quel est l'assembleur le plus rapide ?

BruNews

Administrateur CodeS-SourceS
Faut bien préciser aussi qu'avec MASM32 on peut y mettre du pseudo code avec lequel on n'obtient surement pas ce qu'il y a de plus performant.
Il suffit de vraiment coder et là il n'y aura plus aucune différence avec un autre assembleur.

ciao...
BruNews, MVP VC++

mardi 25 mars 2008 à 16:32:42 | Re : Quel est l'assembleur le plus rapide ?

edfed

pas vrai.
certains assembleurs optimisent les instrucions, pour rendre le code plus petit, et donc plus rapide.

exemple: fasm.

me:
nop
ret

mardi 25 mars 2008 à 16:41:26 | Re : Quel est l'assembleur le plus rapide ?

BruNews

Administrateur CodeS-SourceS
exemple d'optimisation ?

ciao...
BruNews, MVP VC++

mardi 25 mars 2008 à 18:15:36 | Re : Quel est l'assembleur le plus rapide ?

epineurien

Oui ca m'intéresse beaucoup aussi edfed .
Parceque si c'est juste une optimisation style ; remplacer des Mov/Add par des Rep (et autre optimisations du même style), je le fait déjà tout seul comme un grand sous masm .
Par contre si c'est un truc que le codeur peut pas faidre lui-même , là ca m'intérèsse . (mais j'ai des doutes , l'asm c'est quand même fait pour ... pouvoir tout faire).

Visitez le site de ma librairie graphique :  http://hydrargyrum.ifrance.com  [ Lien ] .

mardi 25 mars 2008 à 18:21:53 | Re : Quel est l'assembleur le plus rapide ?

BruNews

Administrateur CodeS-SourceS
ouh la....
remplacer des Mov/Add par des Rep EST UNE DEGRADATION des perfs, pas du tout une optimisation.
Ces vieilles instructions de chaine sont à mettre aux oubliettes.

ciao...
BruNews, MVP VC++

mardi 25 mars 2008 à 19:01:52 | Re : Quel est l'assembleur le plus rapide ?

epineurien

Ahhhhh m------.
Pourtant dans la doc. d'intel ils disent que pour des grands blocs de données elles sont plus rapides ?
Ils disent bien que si c'est juste pour deux trois transfert ca ne vaut pas la peine , donc je les utilise que quand j'ai des buffer entiers à déplacer...
Cela dit la doc. est un peu vieille , donc  d'aprés toi désromais même pour des grand blocs c'est plus rapide de faire mov/ add edi,esi ?
A tout hazard , tu n'aurais pas une adresse avec les cycles d'horloge/parallélisation et co. qui  soit à jours , puisqu'apparement la mienne est obsolète (est donc pas follement utile) ...
Merci pour l'info , je vire de ce pas tout les 'Rep movsd' de mes codes .


Visitez le site de ma librairie graphique :  http://hydrargyrum.ifrance.com  [ Lien ] .

mardi 25 mars 2008 à 19:50:11 | Re : Quel est l'assembleur le plus rapide ?

BruNews

Administrateur CodeS-SourceS

Grands ou petits blocs, à virer définitivement.

mov esi, offset m_SRC
mov edx, offset m_DST
mov ecx, 500
goSRC:
mov eax, [esi]
mov [edx], eax
mov eax, [esi+4]
mov [edx+4], eax
add esi, 8
add edx, 8
sub ecx, 1
jne short goSRC

Avec les instruction simples, on peut dérouler, utiliser les registres qu'on veut (surtout ceux libres à un certain moment), etc.

Tu peux prendre cela que j'avais récupéré je ne sais plus où:
lien: www.brunews.com/P4fr.pdf
mais ne pas trop se fier aux cycles indiqués, il faut toujours mesurer son code.

ciao...
BruNews, MVP VC++



1 2 3

Cette discussion est classé dans : code, utilise, assembleur, rapide, nasm


Répondre à ce message

Sujets en rapport avec ce message

[nasm] ligne de commande [ par Kevin68 ] Bonjour :),Je suis débutant en assembleur, j'utilise nasm sous linux.J'ai cherché partout un exemple de code source qui me permettrait de récupérer le Dur dur de compiler le code des autres... [ par sirehanack ] Bonjour à toutes et à tous!Je suis tout nouveau ici et dans le monde de l'assembleur. En fait je suis aussi nouveau dans l'informatique, je n'ai pour NASM et DEVCPP - fonction assembleur appellee en C/C++ [ par jean84 ] Salut a tous !Et bien comme le titre l'indique, je souhaiterai creer des fonctions en assembleur et pouvoir les appeller en C/C++ dans le meme projet. Quel assembleur choisir ? [ par trinitacs ] J'aimerai savoir quel est le meilleur assembleur qui existe ou si il en faut mixer. Je début difficielment l'asm avec NASM. Faut-il choisir MASM, TASM Newbee needs help !! ->pb de choix [ par ddevnull ] Je suis dans la phase de choix de l'assembleur que je vais utiliser et j'hésite énormément entre nasm,tasm et masm.d'un point de vue performances il p nasm - mémoire read-only [ par Funto66 ] Bonjour,je suis en train d'écrire des tutoriaux pour le site Coder-Studio (http://www.coder-studio.com/?page=tutoriaux) mais pour la création du tutor Sous-procedure externe en Assembleur ? [ par cbil ] débutant en c/c++, flash et asm- Me contacterBonjour à tous,J'utilise TASM et j'aimerais faire une sous procedure externe.J'ai tester un exemple, (je Euh... Help ? [ par MaxSoldier ] Coucou ! D'abord, je voulais dire que oui, c'était possible de passé du VB à l'assembleur. Non sans quelques (  pleins ) de difficultés. J'ai commencé mettre un son avec nasm [ par ricardvince ] bonjour je suis debutant en assembleur et jaurais aimais savoir s'il ete possible de mettre un son dans un programme en assembleur (avec nasm)???merci


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.