π
<-
Chat plein-écran
[^]

CP6 - Championnat des Pythons : performances

CP6 - Championnat des Pythons : performances

Message non lude critor » 27 Mai 2018, 11:27

Championnat des Pythons 2018
Course des Pythons n°6
Performances


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: Tout sélectionner
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).

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

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 ! :mj:

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 ! :mj:

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.

Image

A bientôt pour une autre Course des Pythons ! ;)
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41467
Images: 14480
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: CP6 - Championnat des Pythons : performances

Message non lude puppy65 » 27 Mai 2018, 12:19

critor a écrit:Par soucis d'équité, le test ne concernera pas l'affichage graphique, la Graph 90+E ne disposant pas à ce jour d'un module graphique.


Hein ? C'est une blague ? :'(:
Avatar de l’utilisateur
puppy65
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 73.6%
 
Messages: 313
Images: 0
Inscription: 09 Nov 2017, 19:26
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 2nde

Re: CP6 - Championnat des Pythons : performances

Message non lude critor » 27 Mai 2018, 12:35

Non :
Image
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41467
Images: 14480
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: CP6 - Championnat des Pythons : performances

Message non lude Adriweb » 27 Mai 2018, 12:48

Peut-être une build micropython de debug pour ces version d'OS de test là... En espérant que si c'est le cas, ils passeront à une build optimisée d'ici la rentrée :P
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: CP6 - Championnat des Pythons : performances

Message non lude jean-baptiste boric » 27 Mai 2018, 13:28

Pour Casio, il est également possible que MicroPython n'utilise pas des nombres à virgule flottante IEEE 754 classiques mais réutilise plutôt le moteur de calcul en virgule flottante déjà existant dans le firmware, le code source de MicroPython permettant d'intégrer une implémentation tierce relativement facilement. J'ignore la précision et l'étendue des nombres que le moteur de calcul Casio supporte, mais un moyen de vérifier est d'essayer d'entrer 1,7x10^308 et 1,8x10^308 dans le shell Python. Avec Numworks qui utilise des double dans MicroPython, le premier nombre est accepté, le second est converti en inf.

Pour HP, vu que c'est giac qui interprète le code Python, c'est vraiment pas étonnant que NumWorks soit plus rapide ici. On compare un MicroPython travaillant avec des nombres flottants IEEE 754 à un moteur CAS, ce n'est pas étonnant que le moteur CAS soit bien plus lent en rapidité de calcul brut quand on compare deux plateformes ayant grossièrement le même ordre de grandeur en puissance CPU brute.
Avatar de l’utilisateur
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 4.5%
 
Messages: 374
Inscription: 21 Déc 2015, 22:22
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
GitHub: boricj

Re: CP6 - Championnat des Pythons : performances

Message non lude Lionel Debroux » 27 Mai 2018, 15:29

C'est sûr que là, pour les performances, il n'y a pas du tout photo...
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: CP6 - Championnat des Pythons : performances

Message non lude Adriweb » 27 Mai 2018, 15:32

Peut-être que sur la Prime, le moteur CAS pourrait passer dans un mode numérique un peu forcé partout, d'une manière ou d'une autre, pour aller plus vite ?
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: CP6 - Championnat des Pythons : performances

Message non lude critor » 27 Mai 2018, 20:20

jean-baptiste boric a écrit:Pour Casio, il est également possible que MicroPython n'utilise pas des nombres à virgule flottante IEEE 754 classiques mais réutilise plutôt le moteur de calcul en virgule flottante déjà existant dans le firmware, le code source de MicroPython permettant d'intégrer une implémentation tierce relativement facilement.


J'y avais pensé, mais la partie décimale des résultats affichés ne fait apparaître de spécificité pour la Graph 90+E (juste pour la HP Prime).
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.8%
 
Messages: 41467
Images: 14480
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: CP6 - Championnat des Pythons : performances

Message non lude parisse » 28 Mai 2018, 06:59

A mon avis, c'est parce que la Numworks a une FPU, ce qui n'est peut-etre pas le cas chez Casio ou bien ca n'a pas ete active dans le build micro-python de developpement.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3500
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: CP6 - Championnat des Pythons : performances

Message non lude zardam » 28 Mai 2018, 21:34

La Numworks a bien une FPU, mais uniquement simple précision, et Micropython est compilé avec le support des doubles, elle ne doit donc pas être d'une très grande utilité.
Avatar de l’utilisateur
zardamPremium
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 34.6%
 
Messages: 233
Images: 13
Inscription: 11 Oct 2017, 23:39
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Suivante

Retourner vers News Divers

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 70 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1020 utilisateurs:
>1001 invités
>15 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)