30

oops j'ai appuyé sur "Citer" à la place de "Editer".
désolé pour ce post qui ne sert à rien.

31

Jyaif (./29) :
Faut prendre un chrono et faire tourner tes programmes pdt 5 min

Même si tu fais une erreur de 2s, donc tu obtiens résultat précis à ~1%

Oui j'allais le dire.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

32

Jyaif (./30) :
désolé pour ce post qui ne sert à rien.


On n'est pas à un près roll
1/1300 =~ 0.07%.
Tout ce qui passe pas par le port 80, c'est de la triche.

33

tama, si tu as accès à une TI 89 Titanium HW4, tu pourras mesurer la fréquence de l'interruption 1 avec ce petit programme que je viens de faire.
Il prend en paramètre le nombre de secondes de la mesure. Si tu n'entres rien, le temps par défaut sera de 1 seconde.
avatar

34

onur (./32) :
1/1300 =~ 0.07%.

Moi je trouve ~0,6%.

35

?
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

36

thepro>ok
1/1300 c'est environ 0.0006/0.0007 donc en pourcentage ça serait bien le résultat de Onur ?

Bon je vais d'abord tester sur HW4 avec le programme de Thepro, après je verrais pour la solution proposée smile
Résultats bientôt.
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

37

tama (./36) :
thepro>ok
1/1300 c'est environ 0.0006/0.0007 donc en pourcentage ça serait bien le résultat de Onur ?

ca ne m'explique pas la logique derrière le résultat d'Onur.

38

thepro>ton programme confirme bien que l'AI1 tourne à 256 Hz sur HW4? (PS : tu pourrais pas me passer le code source (même s'il est sale jm'en fous) pour que je vérifie qqch ?)

Jyaif>Je confirmais juste son résultat ^^

et sinon le chrono, je prends un timer ou c'est un chrono à la main ?
ensuite je divise par le nombre d'itérations qui se sont faits pendant 5' et j'obtiens le temps d'une itération et de 1000 ?
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

39

tama (./38) :
thepro>ton programme confirme bien que l'AI1 tourne à 256 Hz sur HW4?
Bah je ne sais pas. Tu as lancé le programme sur une HW4 pour voir ?
avatar

40

euh désolé point d'interrogation en trop ^^
donc c'est une affirmation : ton programme confirme que l'AI1 tourne à 256 Hz sur HW4. voilà grin
(je pensais déjà à la question suivante lol)
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

41

onur (./32) :
On n'est pas à un près roll.gif 1/1300 =~ 0.07%.

1300 =~ nombre de post de Jf.

Jyaif > autre cours de logique, qui t'aurais évité ce genre d'erreur
1/100 = 1% (c'est la définition)
1/1000 = 0.1%
1/x avec x > 1000 donnera qq chose de plus petit que 0.1 et surement pas 0.6

[/HS]
Tout ce qui passe pas par le port 80, c'est de la triche.

42

tama (./40) :
ton programme confirme que l'AI1 tourne à 256 Hz sur HW4. voilà biggrin.gif
Ok smile
Alors, les programmes en assembleur ne sont pas plus rapides, mais les programmes en TI-Basic le sont, c'est bizarre. Tu utilises bien la même version de AMS ?
tama (./38) :
tu pourrais pas me passer le code source (même s'il est sale jm'en fous) pour que je vérifie qqch ?
Tu l'as dans ta boite e-mail, le code n'est pas sale, mais il n'est pas fait pour être lisible smile
avatar

43

Thepro (./42) :
tama (./40) :
ton programme confirme que l'AI1 tourne à 256 Hz sur HW4. voilà biggrin.gif
Ok smile
Alors, les programmes en assembleur ne sont pas plus rapides, mais les programmes en TI-Basic le sont, c'est bizarre. Tu utilises bien la même version de AMS ?


Tous les deux ont l'OS 3.10
et je sais pas comment faire pour l'AMS smile
Thepro (./42) :
tama (./38) :
tu pourrais pas me passer le code source (même s'il est sale jm'en fous) pour que je vérifie qqch ?
Tu l'as dans ta boite e-mail, le code n'est pas sale, mais il n'est pas fait pour être lisible smile


J'ai vu ça. Merci c'est suffisant smile
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

44

Auraient-ils tout simplement changé de compilateur ?
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

45

J'ai oublié de préciser que j'ai compilé les 2 programmes (enfin non, le même programme sur les 2 TI) avec GTC oncalc grin (troll tongue)
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

46

./44 > Bah, si c'est la même version d'AMS, il n'y a pas de recompilation wink
avatar

47

donc le test n'est pas bien fait...va falloir le refaire (flemme...grin)
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

48

Bizarre bizarre...
tama (./45) :
J'ai oublié de préciser que j'ai compilé les 2 programmes (enfin non, le même programme sur les 2 TI) avec GTC oncalc grin (troll tongue)
Pourquoi troll ? Je n'en voit pas smile
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

49

bah ça va ptet en lancer un...j'anticipe wink
enfin pour l'instant ça va ^^
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

50

Refait une mesure pour la boucle vide en C en faisant tourner le programme pendant 5 minutes pour compter le nombre d'itérations

Le code (sale je sais pas trop optimiser =p) : #include <tigcclib.h> INT_HANDLER oldint1; unsigned long it; //nombre d'itérations void end(); //fonction pour finir le test DEFINE_INT_HANDLER(key) {     if (kbhit()) //si une touche est pressée      end(); //on saute à la fonction end pour finir le test    ExecuteHandler(oldint1); } void _main(void) {    it=0;    int i;   oldint1=GetIntVec(AUTO_INT_1);   SetIntVec(AUTO_INT_1,key); //on redirige l'AI1 vers la fonction "key"      while(1) //boucle infinie   {      for(i=0;i<=1000;i++) //ce qu'il y a à tester       continue;      it++;   } } void end() {   SetIntVec(AUTO_INT_1,oldint1); //on remet l'ancien AI1   printf("%lu",it); //on affiche le nombre d'itérations   ngetchx();   exit(0); //on quitte }

(Toujours compilé avec GTC oncalc sur les 2 TI (compilé sur HW3 puis envoyé via link à la HW4))

Résultats :
=> TI89 titanium HW3 => 87169 itérations (soit 290.56 itérations/sec)
=> TI89 titanium HW4 => 87262 itérations (soit 290.87 itérations/sec)

Pas beaucoup plus de différence.....
0.1% de différence, c'est quasiment pareil


Bon, sinon je réitère mon annonce : si vous avez des idées de tests simples, je suis preneur smile
Ou si vous avez testé quelques trucs aussi ^^
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

51

http://www.tigen.org/etpstudio/ mais ...Version:0.9.292 (4/4/05) ( Merci geogeo wink )

Je te file la nouvelle version écrit en C++ des que je peux... à moins que tu récupes les sources et que tu le compiles.
Tout ce qui passe pas par le port 80, c'est de la triche.

52

et pour les codes pour tester ? ^^
ça fait 2 ans au moins que j'ai plus codé en ETP
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

53

54

À arrêter le programme wink
S'il ne met pas cette ligne, son programme ne finira jamais smile
avatar

55

oép c'est ça
programmeur sur TI ^^

mon blog sur les TI => clic

mon (p'tit) fofo sur les TI => clic

56

Il est horrible, ce code:
1. utilisation de kbhit() et ngetchx() dans un gestionnaire d'interruption, sick
2. utilisation de exit() dans un gestionnaire d'interruption!!! eek Normalement, ça devrait planter la calculatrice...

De plus, ta boucle vide est normalement complètement supprimée par GCC, et une grande partie de ton temps est passée dans kbhit(), qui implique pas mal de matériel autre que le CPU (silent link en particulier).
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é

57

Il n'a pas compilé avec GCC.

Pour le reste, en effet, tu ne trouves pas de différence de vitesse peut-être à cause de kbhit() smile
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

58

Si GTC n'est pas capable d'éliminer les boucles vides, ça craint vraiment pour l'optimisation!
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é

59

Bah voyons. J'attendais impatiemment que tu sortes ça. Tes réponses ridicules sont tellement prévisibles... C'est vrai que c'est une optimisation hyper importante : tous les programmeurs écrivent des boucles vides dans leurs sources. On apprend à faire ça en école d'ingé d'ailleurs. C'est tellement utile triso

Et puis je te propose d'écrire un compilateur qui optimise aussi bien que GTC et qui tourne avec seulement 180 ko de RAM et un processeur à 12 MHz. On verra combien de temps tu mettras à faire ça hein wink Et puis faudra qu'il marche, attention !
(vu la stabilité du débogueur de TIEmu, la qualité du code de ld-tigcc, ou la stabilité de ton tokéniseur Basic, c'est pas gagné)
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

60

Une boucle pleine peut être transformée en boucle vide par les optimisations, donc cette optimisation ne vire pas seulement les boucles déjà vides à l'écriture.
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é