1

Vous connaissez quoi comme astuce pour améliorer la vitesse de votre code?

Par exemple xor d0,d0, c'est plus rapide que clr.l d0?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

2

Cherche un peu, le même topic a déjà été créé 50.000 fois...
Et pour ton exemple: non, le plus rapide est moveq.l #0,d0 (d'autant pls que xor d0,d0 == xor.W d0,d0 ...)
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

3

euh, dis moveq.l #0, %d0 c'est pas plus rapide que clr.l %d0 aussi ?
EDIT: post croisé
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

4

D'accord, je vais rechercher dans les autres topics, je voulais juste mettre dans celui-ci une petite liste de routines ou d'instructions optimisé.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

5

Il y a un fichier là-dessus sur ticalc. Il s'appelle [google]68k_optimize.txt[/google] je crois.
Et puis sinon, il te suffit de regarder la vitesse des instructions.

6

En effet, encore un topic inutile de m'a part. sad
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

7

Ne sois pas vexé.
C'est juste que ce n'est pas le premier topic sur la question, et que c'est difficile de re-énumérer toutes ces astuces, surtout qu'elles son nombreuses.
smile

8

Puisque ça parle de rapidité ici, quelqu'un pourrait me donner un lien vers le document le plus fiable en ce qui concerne le nombre de cycles des instructions du M68000 ?
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

9

[google]68000UM.pdf[/google]

10

Ne sois pas vexé. C'est juste que ce n'est pas le premier topic sur la question, et que c'est difficile de re-énumérer toutes ces astuces, surtout qu'elles son nombreuses.


Je ne suis pas vexé, mais c'est juste que au dernier moment je me suis rappelé de topic sur optimisation vitesse et donc voilà. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

11

ça m'a l'air un peu bordellique ce doc mais merci smile
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

12

Il faut juste regarder : 16 Bits intructions execution time

13

D'ailleurs, l'instruction xor n'existe pas. C'est eor.

La manière plus rapide pour effacer (sous réserve d'erreurs, évidemment):
* registre de données (octet): clr.b %dn ou sf.b %dn
* registre de données (mot): clr.w %dn
* registre de données (long): moveq.l #0,%dn
* registre d'adresses (mot): suba.w %an,%an
* registre d'adresses (long): suba.l %an,%an
* mémoire (octet) (octet): clr.b ea ou sf.b ea
* mémoire (octet) (word): clr.w ea
* mémoire (octet) (long): clr.l ea
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

14

Pour effacer en mémoire, on peut faire mieux en vitesse (moveq #0,dn; move.l dn,ea). C'est assez sensible, surtout dans une boucle. Il y a un document que je ne sais plus qui m'avait pointé, peut-être Franceso Orabona, sur Programmers' Heaven, qui le disait clairement. Je n'ai plus le lien, désolé... C'est un fichier petit, 2K environ.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.