La TI-83 Premium CE Edition Python dispose pourtant a priori du même processeur, et les programmes assembleur n'y sont donc pas plus rapides.
Par contre la TI-83 Premium CE Edition Python utilise une toute nouvelle puce Flash.
Il s'en suit que toutes les opérations faisant appel à la mémoire Flash sont beaucoup plus rapides. Et notamment tout ce qui est relatif le système d'exploitation (présent en mémoire Flash), dont entre autres l'exécution de programmes écrits dans le langage historique TI-Basic.
Les Wait State correspondent en fait au nombre de cycles que le processeur attend après avoir effectué une opération en mémoire Flash, cette dernière étant en effet plus lente.
Texas Instruments par sécurité se prend une bonne marge et règle cette valeur à 4, mais il est usuellement possible de la descendre sans danger jusqu'à 1. Une valeur de 0 est également possible mais non recommandée.
Parcourons les applications présentes en mémoire Flash en prenant de gauche à droite :
- une ancienne TI-83 Premium CE avec les Wait States par défaut (4)
- une ancienne TI-83 Premium CE avec les Wait States réglés à 1
- une nouvelle TI-83 Premium CE Edition Python
On remarque bien une légère amélioration des performances sur la TI-83 Premium CE du milieu, mais elle est franchement très en-dessous des 30% mis en avant et même négligeable.
Voyons maintenant ce que cela donne en TI-Basic. Prenons le script Python suivant :
- Code: Select all
try:
from time import *
except:
pass
def hastime():
try:
monotonic()
return True
except:
return False
def seuil(d):
timed,n=hastime(),0
start,u=0 or timed and monotonic(),2.
d=d**2
while (u-1)**2>=d:
u=1+1/((1-u)*(n+1))
n=n+1
return [(timed and monotonic() or 1)-start,n,u]
Une fois traduit dans le langage interprété historique de chaque calculatrice graphique ou programmable conforme 2020, voici le classement par performances pour l'appel
seuil(0.008)
:- 0,688s : HP Prime G2 (32 bits : Cortex/ARMv7 @528MHz)
- 0,785s : NumWorks (32 bits : Cortex/ARMv7 @100MHz)
- 2,414s : HP Prime G1 (32 bits : ARM9/ARMv5 @400MHz)
- 8,93s : TI-Nspire CX II (32 bits : ARM9/ARMv5 @396MHz)
- 12,24s : TI-Nspire (32 bits : ARM9/ARMv5 @120MHz)
- 18,67s : TI-Nspire CX CR4+ (révisions W+) (32 bits : ARM9/ARMv5 @156MHz)
- 20,92s : TI-Nspire CX (révisions A-V) (32 bits : ARM9/ARMv5 @132MHz)
- 32,16s : Casio Graph 35+E II overclockée (32 bits : SH4 @
58,98 MHz274,91MHz) - 50,77s : Casio Graph 90+E (32 bits : SH4 @117,96MHz)
- 81,03s : Casio Graph 35+E II (32 bits : SH4 @58,98MHz)
- 101,1s : Casio Graph 35/75+E (32 bits : SH4 @29,49MHz)
- 117,29s : Casio Graph 25+E (32 bits : SH4 @29,49MHz)
- 120,51s : TI-83 Premium CE Edition Python (8 bits : eZ80 @48MHz)
- 170,93s : TI-83 Premium CE / TI-84 Plus CE-T (8 bits : eZ80 @48MHz Flash Wait State = 1)
- 196,79s : TI-83 Premium CE / TI-84 Plus CE-T (8 bits : eZ80 @48MHz)
- 260,41s : TI-82 Advanced / TI-84 Plus T (8 bits : z80 @15MHz)
- 607,91s : Casio fx-CP400+E (32 bits : SH4 @117,96MHz)
- 672,65s : Casio fx-92+ Spéciale Collège (8 bits : nX-U8/100 >1,5MHz - spécifications ancien modèle fx-92 Collège 2D+, non confirmées sur le nouveau)
- ≈738,75s : Lexibook GC3000FR (non programmable, estimation relative par comparaison des performances en tracé de graphes avec le modèle le plus proche technologiquement, la TI-82 Advanced)
La TI-83 Premium CE ainsi modifiée est effectivement un peu plus rapide, terminant le programme en 2min 50,93s au lieu de 3min 16,79s. Soit une amélioration qui serait plutôt de l'ordre de ~15%.
En plus donc d'être assez en-dessous des 30% annoncés, l'outil devra donc être relancé manuellement à chaque rallumage de la calculatrice.
Téléchargement : Advanced Wait State Changer (non compatible TI-83 Premium CE Edition Python)
Détails techniques : http://wikiti.brandonw.net/index.php?ti ... Ports:1005