Page 1 of 3

QCC2016 épisode 11 : performances

Unread postPosted: 27 Jul 2016, 17:27
by critor
5409
Quelle Clignotrice Choisir 2016 - Episode 11 (liste)
Performances


Sommaire :
  1. Introduction
  2. Tests
  3. Scores
  4. Bilan

1) Introduction :Go to top

Bonjour. Nous nous retrouvons aujourd'hui pour ce nouvel épisode de Quelle Clignotrice Choisir 2016, la web-série de la rentrée 2016 au lycée et au-delà.
Pour cet épisode nous allons nous intéresser aux performances des calculatrices graphiques.

La rapidité de nos calculatrices dans le contexte des examens dépend essentiellement de deux choses :
  • les performances du processeur
  • l'optimisation du moteur de calcul utilisé

2) Tests :Go to top

Dans un premier temps, nous allons mesurer les performances des calculatrices dans le contexte de tracé de courbes.
Une méthode pour identifier les différents types de moteur de calcul numérique est de réaliser le long calcul
$mathjax$\arcsin\left(\arccos\left(\arctan\left(\tan\left(\cos\left(\sin(9)\right)\right)\right)\right)\right)$mathjax$
qui en théorie redonne 9, et en pratique un résultat voisin de 9.
Afin de ne pas avoir de tracé instantané rendant difficile les comparaisons, nous tracerons donc la courbe d'équation
$mathjax$y=\arcsin\left(\arccos\left(\arctan\left(\tan\left(\cos\left(\sin(x)\right)\right)\right)\right)\right)$mathjax$
, sur une même fenêtre graphique (Xmin=-6, Xmax=6, Ymin=-4, Ymax=4).
Pour ne pas désavantager les modèles disposant d'un grand écran, nous pondèrerons ensuite par le nombre de calculs nécessaires, autant que de pixels de largeur de la zone graphique vue en épisode 4.

La TI-82 Advanced et la TI-84 Plus T avec leur petit processeur 8-bits z80 à 15MHz nous font attendre 18,8 secondes pour les 95 calculs nécessaires (leur zone graphique faisant 95 pixels de large).

La TI-83 Premium CE et la TI-84 Plus CE-T avec leur processeur 8-bits eZ80 nous demandent elles d'attendre jusqu'à 20 secondes, pour cette fois-ci 265 calculs.

Les TI-Nspire, TI-Nspire TouchPad et TI-Nspire CAS TouchPad, à jour avec les versions de système récentes faisant tourner leur processeur 32-bits ARM à 120MHz, nécessitent 4 secondes pour les 318 calculs nécessaires.

Les TI-Nspire CX et TI-Nspire CX CAS avec leur processeur 32-bits ARM tournant à 148MHz depuis la révision matérielle W de novembre 2015, nécessitent 3,2 secondes pour ces mêmes 318 calculs.

Avec leur processeur 32-bits SH4 à 12MHz, les Casio Graph 25+E, Casio Graph 35+E et Casio Graph 75+E mettent seulement 3 secondes.

Pour seulement 309 pixels de large en mode paysage, le modèle haut de gamme Casio fx-CP400+E muni d'un processeur 32-bits SH4 de fréquence inconnue se montre très décevant, nous faisant poireauter 12,7 secondes.
Comme on peut pourtant s'attendre à un processeur au moins aussi performant que celui des Casio Graph, ce seraient les performances du moteur de calul qui seraient à incriminer.

Enfin la HP Prime avec son processeur 32-bits ARM à 400MHz nécessite à peine 0,1 seconde pour remplir ses 320 pixels de large. :bj:

Voici un bref résumé :
Modèles
Durée tracé
(secondes)
Largeur graphique
(en pixels)
Durée tracé par pixel
TI-82 Advanced
18,8
95
0,1979
TI-84 Plus T
18,8
95
0,1979
TI-83 Premium CE
20
265
0,0755
TI-84 Plus CE-T
20
265
0,0755
TI-Nspire
4
318
0,0126
TI-Nspire TouchPad
4
318
0,0126
TI-Nspire CAS TouchPad
4
318
0,0126
TI-Nspire CX
3,2
318
0,0101
TI-Nspire CX CAS
3,2
318
0,0101
Casio Graph 25+E
3
127
0,0236
Casio Graph 35+E
3
127
0,0236
Casio Graph 75+E
3
127
0,0236
Casio fx-CP400+E
12,7
309
0,0411
HP-Prime
0,1
320
0,0003

Pour poursuivre et fiabiliser notre évaluation, et donc savoir dans certains cas si c'est le processeur ou bien le moteur de calcul qui est défaillant, programmons un simple petit algorithme de calcul numérique récursif de niveau BAC et chronométrons son temps d'éxécution :

Algorithme
Programme
Code: Select all
Initialisation :
   N prend la valeur 1
   U prend la valeur 2
Traitement :
   Tant que U≥0,0001
      U prend la valeur (NU+1)/(2(N+1))
      N prend la valeur N+1
   Fin Tant que
Sortie :
   Afficher N
Code: Select all
1→N
2→U
While U≥0.0001
   (NU+1)/(2(N+1))→U
   N+1→N
End
N
Code: Select all
Define test()=
   Local n,u
   1→n
   2→u
   While u≥0.0001
      (n∙u+1)/(2∙(n+1))→u
      n+1→n
   EndWhile
   Return n
EndFunc
Code: Select all
1→N
2→U
While U≥0.0001
   (NU+1)/(2(N+1))→U
   N+1→N
WhileEnd
N
Code: Select all
1⇒n
2⇒u
While u≥0.0001
   (nu+1)/(2(n+1))⇒u
   n+1⇒n
WhileEnd
Print n
Code: Select all
EXPORT TEST()
BEGIN
   N:=1;
   U:=2;
   WHILE U≥0.0001 DO
      U:=(N*U+1)/(2*(N+1));
      N:=N+1;
   END;
   PRINT(N)
END;

Les TI-82 Advanced et TI-84 Plus T avec leur petit processeur 8-bits z80 à 15MHz terminent le programme en 22 secondes.

La TI-84 Plus CE-T pour sa part avec son processeur 8-bits eZ80 achève la procédure en 18,7 secondes.

La TI-83 Premium CE met également 18,7 secondes avec le même processeur, et ce peu importe le mode de calcul choisi (exact ou numérique).

Les TI-Nspire et TI-Nspire TouchPad avec leur processeur 32-bits ARM à 120MHz si mises à jour terminent en 2,2 secondes.

Pour la TI-Nspire CAS TouchPad munie du même processeur, cela dépend :
  • 2,2 secondes si on fait l'effort de demander l'utilisation du même moteur numérique approché que les modèles précédents
  • mais par défaut 20,5 secondes avec le moteur de calcul formel/littéral
La TI-Nspire CX malgré son processeur 32-bits ARM à 148MHz depuis la révision matérielle W de novembre 2015 s'en sort bizarrement moins bien, avec 3,4 secondes.

Pour la TI-Nspire CX CAS avec le même processeur, là encore ça dépend :
  • 3,4 secondes en demandant spécifiquement l'utilisation du même moteur de calcul numérique
  • ou sinon par défaut 18,2 secondes dans le contexte du moteur de calcul littéral/formel

Les Casio Graph 25+E, Casio Graph 35+E et Casio Graph 75+E avec leur processeur 32-bits SH4 à 12MHz mettent 7,7 secondes.

La Casio fx-CP400+E confirme le défaut de vitesse déjà constaté, avec des performances absolument catastrophiques sur cette question de niveau BAC :
  • 40,4 secondes si on demande l'utilisation du moteur de calcul numérique approché
  • 361,2 secondes (soit plus de 6 minutes) dans le contexte du moteur de calcul littéral/formel
6 minutes pendant lesquelles on ne peut rien faire d'autre avec la calculatrice, c'est plus qu'il n'en faut pour abandonner et interrompre le programme en situation d'examen si on ne s'y attendait pas, car on pense avoir fait une erreur ou car on a besoin de la calculatrice pour les questions suivantes. :mj:
(et pour précision, l'algorithme travaillé ici est bien tombé au BAC)

Enfin la HP Prime avec son processeur 32-bits ARM à 400MHz confirme sa supériorité avec seulement 1,4 secondes en mode numérique.
(pas vraiment réussi à exécuter le même programme dans le contexte du moteur de calcul formel, mais nous pourrons corriger les scores plus tard si besoin)

Pour résumer :
Modèles
Temps d'exécution programme
moteur de calcul numérique
moteur de calcul exact ou littéral/formel
TI-82 Advanced
22
TI-84 Plus T
22
TI-83 Premium CE
18,7
18,7
TI-84 Plus CE-T
18,7
TI-Nspire
2,2
TI-Nspire TouchPad
2,2
TI-Nspire CAS TouchPad
2,2
20,5
TI-Nspire CX
3,4
TI-Nspire CX CAS
3,4
18,2
Casio Graph 25+E
7,7
Casio Graph 35+E
7,7
7,7
Casio Graph 75+E
7,7
7,7
Casio fx-CP400+E
40,4
361,2
HP-Prime
1,4
1,4?



3) Scores :Go to top

Modèles
performances graphiques
performances programmes
Scores
courbe complète
par pixel
calcul numérique/approché
calcul littéral/formel
TI-82 Advanced
+0,06
0
+0,47
0,251
TI-84 Plus T
+0,06
0
+0,47
0,251
TI-83 Premium CE
0
+0,62
+0,56
+0,56
0,433
TI-84 Plus CE-T
0
+0,62
+0,56
0,433
TI-Nspire
+0,80
+0,94
+0,98
0,925
TI-Nspire TouchPad
+0,80
+0,94
+0,98
0,925
TI-Nspire CAS TouchPad
+0,80
+0,94
+0,98
+0,51
0,808
TI-Nspire CX
+0,84
+0,95
+0,95
0,923
TI-Nspire CX CAS
+0,84
+0,95
+0,95
+0,57
0,828
Casio Graph 25+E
+0,85
+0,88
+0,84
0,853
Casio Graph 35+E
+0,85
+0,88
+0,84
+0,84
0,853
Casio Graph 75+E
+0,85
+0,88
+0,84
+0,84
0,853
Casio fx-CP400+E
+0,37
+0,79
0
0
0,290
HP-Prime
+1
+1
+1
+1
1
Coefficients
x0,25
x0,25
x0,25
x0,25



4) Bilan :Go to top

Les mauvais choix :
718468325599Evite donc les modèles très lents, qui te feront donc attendre plusieurs 10aines de secondes et parfois même de longues minutes dans certaines situations, chose particulièrement désagréable en examen : la TI-82 Advanced, la TI-84 Plus T et surtout la Casio fx-CP400+E. :mj:

Les bons choix :
5841Si tu n'aimes pas attendre, le meilleur choix est incontestablement la HP Prime, et de loin ! :bj:

L'astuce TI-Planet :
Notons que les TI-Nspire qui arrivent quand même en 2ème position ont l'avantage de pouvoir être overclockées, et que les performances mesurées ci-dessus peuvent donc être aisément améliorées ! ;)

7186 7188 7187

Re: QCC2016 épisode 11 : performances

Unread postPosted: 28 Jul 2016, 11:02
by Bisam
J'ai fait le test avec ma Voyage 200...
On arrive à 446.8 secondes (soit 7 min 26.8s !) pour le cas du calcul en mode "Auto".
Elle met 323.5 secondes (soit 5 min 23.5s) pour le cas où on a changé la ligne 2→u en 2.→u, toujours en mode "Auto".
Bizarrement, elle met 370 secondes (soit 6 minutes 10s) en mode "Approximate" !!


J'ai aussi fait le test sur ma Nspire CX (transformée en CX CAS)... et elle ne met que 9 secondes et quelques en mode "Auto".
En revanche, en mode "Exact", elle plante sur une "Erreur : capacité" (ce qui n'est pas très étonnant vu la taille des rationnels intervenant dans le calcul).
En mode "Approché", elle met environ 5 secondes.
Enfin, en mode "Auto", si on change la ligne 2→u en 2.→u, elle ne met plus que 7 secondes environ.

Pour finir, une remarque sur cet algorithme...
Un algorithme qui fait tourner une boucle 10000 fois n'est franchement pas performant.
De plus, il est ici relativement facile de montrer que
$mathjax$\forall n\in\mathbb{N}^*, u_n=\frac{1+2^{1-n}}{n}$mathjax$
(par exemple en introduisant la suite définie par
$mathjax$\forall n\in\mathbb{N}^*,v_n=nu_n-1$mathjax$
), ce qui permet de trouver la valeur d'arrêt de la boucle immédiatement, donc la boucle n'a vraiment aucun intérêt selon moi !

Re: QCC2016 épisode 11 : performances

Unread postPosted: 28 Jul 2016, 14:18
by critor
Merci pour test complémentaires. :)

Oui, mettre 2. au lieu de 2 est une façon de forcer le mode décimal approché sur TI-Nspire CAS, au moins pour les variables concernées.

Re: QCC2016 épisode 11 : performances

Unread postPosted: 28 Jul 2016, 20:15
by Hackcell4TI
L'overclock est disponible en mode examen??

Re: QCC2016 épisode 11 : performances

Unread postPosted: 28 Jul 2016, 21:11
by critor
Excellente question. ;)
Si Ndless est reboot-proof, oui.

Initialement c'était possible uniquement sur les révisions A à I avec Nlaunchy.
Mais depuis le 22 mai dernier, avec la paire d'outils nBoot + ControlX c'est désormais possible également sur toutes les révisions J à V

Donc oui, toutes les révisions A à V peuvent désormais conserver Ndless en mode examen si l'utilisateur est capable de suivre rigoureusement un tutoriel.

Re: QCC2016 épisode 11 : performances

Unread postPosted: 29 Jul 2016, 04:45
by DoOmnimaga
La vitesse de la TI-82A et la TI-84+T comparativement à la fx-CP400 me surprend, mais c'est probablement compréhensible compte tenu de la lenteur du processeur des 2 Z80 et le peu de RAM. Je croyais par contre que ces TI tournaient à 15 MHz et non 6? Mais comme toute attente, la fx-CP400 fait piètre figure au chapitre des performances. Ce qui me surprend le plus, par contre, c'est que la TI-Nspire CX n'affiche pas de meilleures performances.

Merci en passant de tenir compte des performances des calculatrices dans les QCC2016. Je crois qu'en examen, la rapidité des modèles de calculatrices graphiques est un facteur à ne pas négliger si on ne veut pas se retrouver à passer 6 minutes 40 secondes à attendre la fin de l'exécution d'un programme alors qu'il en aurait mis 10 secondes sur la TI-82 Advanced.

Re: QCC2016 épisode 11 : performances

Unread postPosted: 29 Jul 2016, 09:21
by critor
Oui, tu as raison - la TI-82 Advanced tourne à 15MHz comme toute TI-84 Plus.
C'est corrigé, merci :)

Re: QCC2016 épisode 11 : performances

Unread postPosted: 30 Jul 2016, 11:58
by Hackcell4TI
Bravo alors, dans ce cas là l'égalité des chances est un peu restauré.

Re: QCC2016 épisode 11 : performances

Unread postPosted: 30 Jul 2016, 13:45
by Adriweb
Cela dit, très souvent ce qu'on demande au Bac prend un temps dont la différence est assez négligeable peu importe les modèles, car c'est quelques secondes au maximum...
Donc l'overclock ne ferait pas gagner grand chose (en pratique, oui, mais c'est pas comme si l'élève allait gagner 10 minutes sur l'épreuve)

Sauf peut-être avec la Casio fx-CP400 qui établit des records de lenteur, mais ceux qui ont lu l'article auront été au courant...

Re: QCC2016 épisode 11 : performances

Unread postPosted: 31 Jul 2016, 12:09
by critor
Adriweb wrote:Cela dit, très souvent ce qu'on demande au Bac prend un temps dont la différence est assez négligeable peu importe les modèles, car c'est quelques secondes au maximum...

Je ne peux être d'accord.
Retourne voir une opération aussi essentielle que le tracé de courbes en 1er post...

Certains modèles sont très lents dans ce contexte (TI-83 Premium CE, TI-82 Advanced, Casio fx-CP400+E) lorsque sur d'autres on a à peine le temps de relâcher la touche.