Page 1 of 3

QCC 2017 épisode 19 : Performances

Unread postPosted: 02 Aug 2017, 17:13
by critor
5409
Quelle Clignotrice Choisir 2017 - Episode 19 (liste)
Performances


Sommaire :
  1. Introduction
  2. Tests avec programme
  3. Tests avec graphique
  4. Scores
  5. Classement temporaire

1) Introduction :Go to top

Aujourd'hui, nous allons nous intéresser aux performances réelles des calculatrices graphiques conformes 2018+ en matière de calcul.
Nous effectuerons 2 tests :
  • avec le tracer de graphiques
  • avec l'exécution d'un programme

2) Tests avec graphique :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.
Notons donc la fonction auxilaire de test
$mathjax$t(x)=\arcsin\left(\arccos\left(\arctan\left(\tan\left(\cos\left(\sin(x)\right)\right)\right)\right)\right)$mathjax$
.
Afin de ne pas avoir de tracé instantané rendant difficile les comparaisons, nous demanderons à nos calculatrice de tracer 2 courbes sur une fenêtre avec Xmin=-6, Xmax=6, Ymin=-3 et Ymax=3 :
  • $mathjax$f(x)=\arcsin\left(\arccos\left(\cos\left(\sin\left(t^2(x)\right)\right)\right)\right)$mathjax$
  • $mathjax$g(x)=-\arcsin\left(\arccos\left(\cos\left(\sin\left(t^2(x)\right)\right)\right)\right)$mathjax$
Pour ne pas désavantager les modèles disposant d'un grand écran, nous ajusterons bien sûr ensuite le temps par le nombre de colonnes de pixels de l'écran graphique, comme vu en épisode 14.

Ces fonctions dont les définitions se veulent communes à tous les modèles tiennent compte des limitations extrêmes d'un certain modèle que nous ne nommerons pas :
  • tracer de 2 fonctions au maximum
  • pas de possibilité de référencer une autre fonction dans la définition
  • maximum de 100 caractères par définition
  • pile interne d'opérateurs limitée à 24 éléments

La TI-82 Advanced met 1min39,16 à tracer sur 95 pixels de large.
La TI-84 Plus T est légèrement plus rapide avec 1min32,68.

Avec leur zone graphique de 265 pixels de large, les TI-83 Premium CE et TI-84 Plus CE-T mettent 2min11,15.

Les Casio Graph 25+E, Casio Graph 35+E et Casio Graph 75+E sont sensiblement plus puissantes, ne mettant que 15,46s pour 127 pixels de large. :)

Avec ses 379 pixels de large, l'extraordinaire Casio Graph 90+E arrive même à faire encore plus court avec seulement 6,23s ! :D

Les TI-Nspire monochomes cadencées à 120Mhz en version 3.9 mettent 9,99s pour 318 pixels de large. :bj:
Les dernières TI-Nspire CX cadancées à 156MHz se contentent de 9,08s pour la même zone. :bj:

La HP Prime écrase tout-le-monde en puissance brute avec ses 400MHz, et s'exécute en seulement 0,24s pour un tracé de 320 pixels de large. :#tritop#:

La Lexibook GC3000FR n'a que 47 colonnes de pixels à traiter, mais elle se traînera quand même lamentablement pendant 2min24,51.

Et non, ce n'était pas la pire...
La Casio fx-CP400+E dispose du même processeur cadencé à 116MHz que la Casio Graph 90+E, mais ne mettra pas du tout le même temps, avec 28,22s pour pourtant seulement 309 pixels de large. :(

Mais ça, c'est dans le meilleur des cas, quand la calculatrice est en mode réel comme affiché ci-contre en bas d'écran.
Si jamais la calculatrice est en mode complexe, comme cela pourra régulièrement arriver en Terminale S, les piles seront épuisées avant même que le graphique ne soit terminé ! :o
Si si, on a testé avec des piles neuves, et 36 heures avec une luminosité d'écran baissée au minimum n'ont pas suffi... :mj:

Nous ne savons pas quoi, mais quelque chose ne tourne visiblement pas rond dans le moteur de calcul de cette machine. :#roll#:


3) Tests avec programme :Go to top

Dans le contexte de programmes, la complexité d'un même calcul peut varier selon que l'on fait appel au moteur de calcul exact qui gère au moins les fractions/rationnels sur l'ensemble des modèles ou pas.
Nous allons donc traduire sur chaque modèle un algorithme de suites de nombres rationnels, et tester à chaque fois dans les deux modes de calcul :
Code: Select all
Variables :
   n entier naturel
   u réel
Initialisation :
   n prend la valeur 0
   u prend la valeur 2
Traitement :
   Tant que |u-1|≥0,02 faire
      n prend la valeur n+1
      u prand la valeur 1+(1/((1-u)(n+1)))
   Fin tant que
Sortie :
   Afficher n et u

Le programme a été calibré pour être capable de renvoyer un résultat exact sur tous les modèles haut de gamme, évitant ainsi de fausser l'évaluation, certains modèles se permettent en effet à partir d'une certaine difficulté d'abandonner le calcul exact pour passer sur le moteur de calcul numérique plus rapide.


Sur les TI-82 Advanced, TI-83 Premium CE, TI-84 Plus T et TI-84 Plus CE-T :
  • on utilise l'opérateur de division :f65: pour forcer le quotient en mode numérique, et donc également les résultats des calculs ultérieurs l'utilisant
  • on utilise l'opérateur de quotient/fraction comme déjà vu en épisode 3 afin de peut-être obtenir le quotient en mode exact, ainsi que les résulats des calculs ultérieurs l'utilisant si rien d'autre ne vient interférer
La TI-82 Advanced met environ 36,43s en mode numérique, et 38,33s en mode exact.
La TI-84 Plus T semble légèrement plus rapide, mettant environ 34,12s en mode numérique, et 35,92s en mode exact.
La TI-84 Plus CE-T ne met pour sa part plus que 27,97s en mode numérique, mais 57,38s pour ne pas fait mieux en mode exact. :(
La TI-83 Premium CE disposant quant à elle d'un moteur de calcul exact plus complet non limité aux seules fractions semble le payer en performances, avec un recul à 32,97s en mode numérique et 62,51s en mode exact.

Sur les Casio Graph 25+E, Casio Graph 35+E, Casio Graph 75+E et Casio Graph 90+E, la situation est similaire.
Le moteur de calcul utilisé par les programmes dépend de la façon de saisir les quotients :
  • avec la touche diviser
    ÷
    pour le mode numérique
  • avec la touche quotient pour le mode exact

Les Casio Graph 35+E et Casio Graph 75+E mettent 15s en mode numérique et 15,88s en mode exact. :)
La Casio Graph 25+E pour une raison que nous ignorons est légèrement en retrait avec 17,88s en mode numérique et 18,68s en mode exact. La seule différence connue est la mémoire de travail utilisateur qui ne fait que 32Kio au lieu de 64Kio.
La Casio Graph 90+E sort toujours aussi nettement du lot avec seulement 7,47s en mode numérique et 7,77s en mode exact. :D

Sur les TI-Nspire il suffit de valider avec :nsct: :nsen: pour forcer le mode numérique.
Les TI-Nspire monochromes mettent ici 1,4s en mode numérique et 2,73s en mode exact. :bj:
Les TI-Nspire CX bien que plus puissantes mettent d'avantage de temps, possiblement à cause de la lourdeur de leur système, 2,33s en mode numérique et 3,28s en mode exact.

Sur HP Prime c'est l'éditeur de programmes qui permet de cocher l'option calcul exact.
La machine domine encore largement en mode numérique avec seulement 0,31s ! :#tritop#:
Toutefois en mode exact elle semble perdre davantage de temps, puisque fournissant le même résultat en 7,47s. :(

Sur Casio fx-CP400+E, le mode est contrôlable à tout moment grâce aux drapeaux tactiles en bas d'écran. Et cette fois-ci encore, ils ont une influence que l'on ne peut passer sous silence. :#non#:
La calculatrice mettra 1min31,65s en mode numérique et 23min21,71s en mode exact... :mj:

8498Quant à la Lexibook GC3000FR, malgré ce que tente de faire croire son clavier avec une touche
PROG
elle n'est absolument pas programmable. :#non#:
La touche en question ne sert qu'à mettre une formule en mémoire pour pouvoir l'évaluer plus tard, exactement comme sur les TI/Casio Collège.
Il ne nous est donc pas possible de chiffrer sa puissance de façon fiable.


4) Scores :Go to top

Voici ci-dessous les scores de performances attribués selon une échelle logarithmique.
Pour le score des performances de la Lexibook GC3000FR avec le programme nous mettrons zéro.
De toutes façons, vu le score honteux qu'elle se tape pour les performances avec le graphique, ce n'est sans doute pas bien différent de ce qu'elle aurait dû obtenir au millième de point près. :troll:

Si tu n'as pas de temps à perdre à attendre les résultats, 2 modèles semblent être très clairement à éviter sur les tests d'aujourd'hui. :#non#:


5) Classement temporaire :Go to top

Après prise en compte des épisodes précédents et des coefficients, voici le classement à ce jour :
Image

Re: QCC 2017 épisode 19 : Performances

Unread postPosted: 02 Aug 2017, 17:14
by Alvoko
Si tu n'as pas de temps à perdre à attendre les résultats, 2 modèles semblent être très clairement à éviter sur les tests d'aujourd'hui. :#non#:


Bah oui mais lesquelles ? ( :troll: )

Re: QCC 2017 épisode 19 : Performances

Unread postPosted: 02 Aug 2017, 17:23
by Hamza.S
la Lexibook et la Casio fx-CP400+E ça saute aux yeux :p

Re: QCC 2017 épisode 19 : Performances

Unread postPosted: 02 Aug 2017, 18:16
by parisse
Pour la Prime, je vais regarder ce que donnerait un calcul mieux optimise pour les operations binaires entre entiers et fractions.

Re: QCC 2017 épisode 19 : Performances

Unread postPosted: 02 Aug 2017, 19:11
by parisse
Ca gagne environ 30% dans Xcas, mais on a encore un facteur 5 environ entre exact et numerique. J'ai du mal a comprendre comment on peut avoir des temps aussi proches sur les autres machines entre numerique et exact, la fraction finale fait intervenir des entiers de 478 chiffres, le temps de calcul est forcement plus long que si on travaille avec des flottants.

Re: QCC 2017 épisode 19 : Performances

Unread postPosted: 02 Aug 2017, 19:41
by critor
Pour les TI-83 et Casio Graph 35/75/95, ce n'est pas un moteur CAS mais exact qui ne gère que des binômes pouvant être composés :
  • de rationnels
  • d'une racine d'un rationnel
  • d'un rationnel multiplié par Pi

Pour les TI-82/84 et Casio Graph 25, le moteur est limité aux seuls nombres rationnels.

Re: QCC 2017 épisode 19 : Performances

Unread postPosted: 03 Aug 2017, 06:26
by Wistaro
Pendant un instant mon regard a inversé les 2 barres de droite.
Un grand moment de frayeur :D

La programmation d'algo étant au programme, c'est normal que la Lexibook n'embarque pas cette fonctionnalité...? Ça devrait être obligatoire..

Re: QCC 2017 épisode 19 : Performances

Unread postPosted: 03 Aug 2017, 06:54
by parisse
critor wrote:Pour les TI-83 et Casio Graph 35/75/95, ce n'est pas un moteur CAS mais exact qui ne gère que des binômes pouvant être composés :
  • de rationnels
  • d'une racine d'un rationnel
  • d'un rationnel multiplié par Pi

Pour les TI-82/84 et Casio Graph 25, le moteur est limité aux seuls nombres rationnels.

L'overhead entre CAS et calcul exact est faible ici (un peu plus de cas a dispatcher), par contre additionner un entier a une fraction avec numerateur/denominateur ayant de l'ordre de la centaine de chiffres est forcement significativement plus long qu'avec des flottants, et multiplier un entier encore plus puisqu'il faut calculer un pgcd pour reduire la fraction, donc la difference de temps de calcul faible sur certains modeles est vraiment etonnante. Meme le x2 des nspire semble faible mais au moins le resultat renvoye est exact. Est-ce que les autres renvoient bien la bonne fraction?

Re: QCC 2017 épisode 19 : Performances

Unread postPosted: 03 Aug 2017, 12:20
by critor
Pour les TI-82/83/84 et Casio Graph, le résulat final est fourni en écriture décimale.
C'est-à-dire que le moteur exact abandonne pour une complexité inférieure des résultats, probablement assez rapidement dans notre cas.

Le seuil de l'exemple a été choisi pour que les modèles haut de gamme (Nspire/Prime/Classpad) aillent tous jusqu'au bout en mode exact et soient donc comparables, ce qui n'était pas le cas l'année dernière.
Un seuil permettant aux autres modèles de terminer en mode exact donnait hélas un calcul quasi instantané sur le haut de gamme et donc des mesures de temps difficilement comparables.

Pour info, lorsque la configuration réel/complexe ou exact/numérique influait sur la durée d'exécution, le score final pour chacun des tests a été calculé à partir de la moyenne des temps mesurés.
Pour les graphiques CP400 en mode complexe, j'ai donc compté le temps d'épuisement des piles soit 36 heures - j'ignore ce qu'elle fabrique.

Re: QCC 2017 épisode 19 : Performances

Unread postPosted: 03 Aug 2017, 14:11
by compsystems
Please can you show the expressions in hp-prime

t(x):=arcsin(arccos(arctan(tan(cos(sin(x))))))
F1(X):=arcsin(arccos(cos(sin(t^2*x)))) error syntax