Posté le 25/05/2011 22:12
Voici un programme avant l'optimisation :
Combien de variables existe-t-il ? Beaucoup de personnes pensent qu'il y en a 28 (Toutes les lettres de l'alphabet, r et [TETA] ), mais en réalité il y en a 37 (peut être même plus) :
Dans cette partie du cours on admettra ceci : une variable existe si elle ne vaut pas 0 et une variable n'existe pas si elle vaut 0. Exemple : soit une variable A, la variable A existe si A != 0 et elle n'existe pas si A=0
Ils sont lent:
Ils bug si on les utilise mal:
Comment contourner ces problèmes ? Tout simplement en utilisant moins de labels et plus de boucles (boucle For, Do-LpWhile, While ...), le mieux c'est de ne plus utiliser de label
0.6+0.4A+0.2B->E s'écrit aussi .6+.4A+.2B->E ,dans ce cas les zéros sont inutiles, la calculatrice comprend que 0.6 = .6 
5(2A(3+A(4-A(5-A(A+B+C+D)))))->E s'écrit aussi 5(2A(3+A(4-A(5-A(A+B+C+D->E , dans ce cas les parenthèses ')' à la fin ne servent à rien
1/A s'écrit aussi A^-1, pour obtenir ^-1 il suffit d'appuyer respectivement sur les touches [shift] puis [)].
5000000000000 s'écrit aussi 5*10^12 ou encore 5E12, pour obtenir le 'E' il suffit d'appuyer sur la touche [x10^x], cette touche se trouve en bas de la calculatrice
{500,501,502->List 1 s'écrit aussi 500+{0,1,2->List 1, dans cet exemple chaque valeur de la List 1 est additionné par 500
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2025 | Il y a 101 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 30/03/2015 12:41 | #
Oi c'est ce que je dis si tu fais toutes les optis, le gain est déja assz conséquent, la technique seule ne suffit pas
Citer : Posté le 31/03/2015 09:04 | #
Avec le Locate, le Dips"◢" ne provoque pas de problème si on a enlevé le guillemet mais curieusement le ◢ est affiché en bout de ligne !
Citer : Posté le 25/04/2015 17:41 | #
Et c'est pas un octet gagné lorsqu'on enlève un ", mais 4.
Citer : Posté le 25/04/2015 18:24 | #
Absolument pas
Tu gagne 4 octets dans le cas où ton programme descend en dessous d'un multiple. Exemple en mémoire
Locate 1,1,"Hi // 2 + 7 octets = 9 octets, le programme en fait 12 en mémoire
Locate 1,1,"H // 2 + 6 octets = 8 octets, le programme en fait 8 en mémoire (gain apparent de 4 octets)
Mais en aucun cas enlever un « " » réduit de 4 octets la taille du programme !
Citer : Posté le 25/04/2015 19:25 | #
Je pense qu'on peut dire que 4 octets est la taille d'un cluster de la mémoire principale...
Citer : Posté le 25/04/2015 20:36 | #
Au temps pour moi, mais un byte = un octet ?
Citer : Posté le 25/04/2015 20:42 | #
Je crois qu'un byte=un octet mais un byte=huit bits
-Mon Fall Down
-Mon jeu de mains
-Mon starwars
-Mon dessinatout
-Mon niaiseux version 2.0
-Mon niaiseux version 3.0
-Inferno
-Mon super labyrinthe (en cours)
-Mon call of duty en 3D
-Casion (avec Az)
Citer : Posté le 25/04/2015 20:44 | #
Oui
1 Octet = 8 Bits
1 Octet = 1 Byte
1 Byte = 8 Bits
Tilde Invité
Citer : Posté le 15/04/2016 03:02 | #
Souvent, 1 Byte = 8 bits, mais Byte n'est pas le mot anglais équivalent d'Octet.
En anglais, octet se dit... octet.
Citer : Posté le 26/08/2019 07:20 | #
Getkey
LpWhile Not Ans
Only using one " (Double Quotes) can cause issues (fx-9680GII)
When using Labels/Goto
If 0
Then Text 1, 1, "Hi
IfEnd
Goto A
When it should loop infinitely
For me 'Not' is 2bytes
So replacing '=0' with 'Not' does nothing
Citer : Posté le 26/08/2019 09:05 | #
Getkey
LpWhile Not Ans
Won't you lose the key code stored in Ans in this case?
So replacing '=0' with 'Not' does nothing
Not in terms of program size, but parsing probably happens differently. In the end, a quick manual test of X=0 against Not X in a 1000-iteration loop suggests that Not x (3.0s) is much faster than X=0 (3.4s, remember the overhead of the loop).
Citer : Posté le 26/08/2019 09:13 | #
Will not you lose the key code stored in Ans in this case?
I just looked at the bottom GeKey's which didn't use Ans
Thank you for spotting it
X=0 against Not X in a 1000-iteration loop suggests that Not x (3.0s) is much faster than X=0
I just did a test with x=0 vs Not X
For 1 -> A To 4000
Not X
next
I guess it looks a bit better anyway
Citer : Posté le 26/08/2019 09:18 | #
Tried it again with your exact program and I consistently get 10% faster by using Not on my Graph 75+E. This may depend on the model...
Citer : Posté le 26/08/2019 09:27 | #
I have fx-9750GII
With the upgraded OS to fx-9860GII
OPTN F6 F6 F4 F3
For Not
Citer : Posté le 26/08/2019 09:35 | #
Yeah, that's the same function and almost the same model as well. I ought to mention I have OS 02.05, but this performance gain has been discussed for years now so it shouldn't be this specific.
I guess I'll leave it here for the records...
Citer : Posté le 26/08/2019 09:49 | #
I have OS 2.04.0201
and Im running on 1.2V recharagable battries
Citer : Posté le 26/08/2019 10:46 | #
Maybe you will share which method you use
And as I said (can't remember the topic), the battries affects a little the performances, so maybe the difference is there.
Citer : Posté le 26/08/2019 10:55 | #
Influencing performance is one thing, but doing so non-uniformly feels really way off to me...