Bienvenue au grand
Championnat des Pythons 2018. Pour la rentrée 2018, trois modèles de calculatrices graphiques autorisées aux examens et concours proposent ou proposeront la programmation en langage
Python :
- NumWorks
- HP Prime
- Casio Graph 90+E
Aujourd'hui dans cette sixième
Course des Pythons, voyons ensemble ce que valent ces différentes solutions niveau performances d'exécution de scripts.
Par souci d'équité, le test ne concernera pas l'affichage graphique, la
Graph 90+E ne disposant pas à ce jour d'un module graphique. Par souci de réalisme, il ne concernera pas non plus l'affichage de textes et nombres, les scripts en pratique ne réalisant qu'un affichage final en fin de calcul.
Prenons donc plutôt un test de performances de calcul avec le script suivant :
- Code: Select all
def seuil(m):
n=0
u=2.
while abs(u-1)>=m:
n=n+1
u=1+1/((1-u)*(n+1))
return [n,u];
La ligne d'appel sera
seuil(0.005)
.


Sur la
NumWorks et son processeur
32-bits ARMv7 100MHz, notre script arrive à fournir alors le résultat en seulement
2,41s !



La
HP Prime dispose quant à elle d'un processeur
32-bits ARMv5 de fréquence inconnue. Plusieurs sites parlent d'une fréquence de 400 MHz, mais à la différence il s'agit de la fréquence nominale de la puce. Nous n'avons à ce jour aucune information fiable sur la fréquence réelle, possiblement inférieure pour économiser la batterie.
Quoiqu'il en soit, les performances sont absolument désastreuses, le même script nécessitant ici
1min17s soit presque 32 fois plus de temps !

On pourrait incriminer une fréquence réelle très inférieure à la fréquence nominale mise en avant donc de façon commerciale. Le fait que la
HP Prime ne dispose pas d'un véritable interpréteur
Python mais effectue en interne une traduction
(imparfaite) de la syntaxe Python vers celle de son langage intégré a peut-être à voir avec l'effondrement des performances. Le fait que cette fonctionnalité ne soit disponible que dans le contexte CAS avec un moteur de calcul donc possiblement beaucoup plus lourd également.


Enfin la
Casio Graph 90+E est équipée d'un processeur
32-bits SH-4 à
118 MHz, certes
overclockable à 275 MHz. Pour être représentatif de ce que la majorité des utilisateurs obtiendra, le test a bien évidemment été réalisé sur machine non overclockée.
La machine que nous avons testée lors de la tournée pédagogique
Casio mercredi 16 mai à Toulouse a réussi le triste exploit de battre le record de lenteur de la
HP Prime avec pas moins de
2min35.2s pour le même résultat !

Notons que
Planète Casio a réalisé des
tests complémentaires le mercredi 23 mai à Lyon, a de même été très déçu des performances et a même remarqué des performances inférieures à celles du langage interprété historique de la machine
(Casio Basic).
Aucune idée du problème ici, d'ailleurs très surprenant vu que le matériel est comparable et que la technologie logicielle utilisée est la même que chez
NumWorks (Micropython), et n'a donc rien à voir avec celle de la
HP Prime. Espérons que
Casio saura améliorer cela d'ici la rentrée.
