Page 1 of 3

QCC 2021 Universel épisode 7: Performances générales

Unread postPosted: 19 Aug 2021, 14:09
by critor
Quelle Calculatrice Choisir 2021 édition Universelle

Épisode 7 - Performances générales

5409Pour fêter les 10 ans de TI-Planet en cette rentrée 2021, nous te publions la base de données intégrale de nos classements de rentrée QCC organisés depuis la rentrée 2015.

Nous en profitons de plus pour te réaliser le travail titanesque d'étendre les tests aux modèles plus anciens :
  • toutes les calculatrices graphiques Texas Instruments (depuis la première TI-81 de 1990)
  • toutes les calculatrices graphiques Casio à technologie Flash (depuis 2003)
Ce qui donne pas moins de 136 modèles différents de calculatrices testés sous toutes leurs coutures, 10 ans de tests et découvertes à portée de clic ! :D

Aujourd'hui, commençons à parler performances.

Nous effectuerons jusqu'à 2 tests, lorsque possible, et chronométrerons leur durée :
  • un test avec un gros calcul
  • un test avec un programme
Le test avec le programme ne concernera pour le moment que les langages constructeur/historiques, pas le Python. En effet sur nombre de modèles l'application en question ne bénéficie pas d'une intégration à l'environnement de la calculatrice, mais tourne à part dans son coin, souvent sans pouvoir échanger/partager de données. Elle n'est donc pas représentative des performances générales du logiciel de la calculatrice.

Pour les modèles disposant d'un moteur de calcul exact, littéral ou même formel (CAS), les deux tests seront effectués en mode de calcul décimal.

Certains modèles comme les Lexibook GC3000FR et Esquisse GCEXFR sont tellement limités en capacités qu'ils ne remplissent même pas les conditions pour passer un seul de ces deux tests. :mj:

Commençons par le test de performances via un calcul. Pour les modèles disposant de l'opérateur de sommation, nous retenons le calcul développé par pier4r sur HP Museum, en mode degrés :
$mathjax$\sum\limits_{x=1}^{1000}{\sqrt[3]{e^{sin\left(Arctan\left(x\right)\right)}}}$mathjax$


Pour les modèles plus puissants terminant le calcul parfois avant même que l'on ait le temps de relâcher la dernière touche, la borne supérieure de la somme sera augmentée, et le temps mesuré corrigé en conséquence par proportionnalité.

Pour la fx-92+ Spéciale Collège qui ne dispose pas de l'opérateur de sommation, nous testerons à la place le modèle haut de gamme allemand fx-991DE X utilisant exactement le même matériel.

Voici dès maintenant le classement des modèles selon leurs performances sur ce calcul :
  1. 0,130s : HP Prime G2 (32 bits : Cortex-A7/ARMv7 @528MHz)
  2. 0,448s : HP Prime G1 (32 bits : ARM9/ARMv5 @400MHz)
  3. 0,997s : TI-Nspire CX II (32 bits : ARM9/ARMv5 @396MHz)
  4. 1,481s : NumWorks N0110 (32 bits : Cortex-M7/ARMv7 @216MHz)
  5. 2,069s : NumWorks N0100 (32 bits : Cortex-M4/ARMv7 @100MHz)
  6. 2,119s : TI-Nspire (32 bits : ARM9/ARMv5 @120MHz)
  7. 2,256s : TI-Nspire CX (révisions W+) (32 bits : ARM9/ARMv5 @156MHz)
  8. 2,604s : TI-Nspire CX (révisions ≤V) (32 bits : ARM9/ARMv5 @132MHz)
  9. 6,330s : Casio fx-CP400 (32 bits : SH4 @117,96MHz)
  10. 8,550s : Casio Graph 90+E (32 bits : SH4 @117,96MHz)
  11. 13,15s : TI-84 Plus CE-T Python Edition / TI-84 Plus CE-T (révisions M+) (8 bits : eZ80 @48MHz)
  12. 13,59s : Casio Graph 25+E II (32 bits : SH4 @58,98MHz)
  13. 13,76s : TI-82 Advanced Edition Python (8 bits : eZ80 @48MHz)
  14. 14,11s : Casio Graph 35+E II (32 bits : SH4 @58,98MHz)
    14,11s : TI-83 Premium CE Edition Python (8 bits : eZ80 @48MHz)
  15. 20,11s : Casio Graph 25+E (32 bits : SH4 @29,49MHz)
  16. 23,05s : Casio Graph 35/75+E (32 bits : SH4 @29,49MHz)
  17. 36,05s : TI-84 Plus CE-T (révisions ≤L) (8 bits : eZ80 @48MHz)
  18. 36,99s : TI-83 Premium CE (8 bits : eZ80 @48MHz)
  19. 52,79s : TI-84 Plus T (8 bits : z80 @15MHz)
  20. 56,25s : TI-82 Advanced (8 bits : z80 @15MHz)
  21. 108,6s : Casio fx-92+ Spéciale Collège (8 bits : nX-U8/100 @?MHz)
  1. 0,130s : HP Prime G2 (32 bits : Cortex-A7/ARMv7 @528MHz)
  2. 0,448s : HP Prime G1 (32 bits : ARM9/ARMv5 @400MHz)
  3. 0,609s : TI-Nspire CX II (32 bits : ARM9/ARMv5 396MHz overclocké @480MHz NoverII)
  4. 1,481s : NumWorks N0110 (32 bits : Cortex-M7/ARMv7 @216MHz)
  5. 1,571s : TI-Nspire (32 bits : ARM9/ARMv5 @120MHz overclocké @150MHz Nover)
  6. 1,857s : TI-Nspire CX (révisions ≤V) (32 bits : ARM9/ARMv5 @132MHz overclocké @222MHz Nover)
  7. 1,992s : TI-Nspire CX (révisions W+) (32 bits : ARM9/ARMv5 @156MHz overclocké @216MHz Nover)
  8. 2,069s : NumWorks N0100 (32 bits : Cortex-M4/ARMv7 @100MHz)
  9. 3,220s : Casio Graph 35/75+E (32 bits : SH4 @29,49MHz overclocké @267,78MHz Ftune2)
  10. 4,320s : Casio Graph 35+E II (32 bits : SH4 @58,98MHz overclocké @274,91MHz Ftune3)
  11. 5,240s : Casio Graph 90+E (32 bits : SH4 @117,96MHz overclocké @270,77MHz Ptune3)
  12. 6,330s : Casio fx-CP400 (32 bits : SH4 @117,96MHz)
  13. 13,15s : TI-84 Plus CE-T Python Edition / TI-84 Plus CE-T (révisions M+) (8 bits : eZ80 @48MHz)
  14. 13,59s : Casio Graph 25+E II (32 bits : SH4 @58,98MHz)
  15. 13,76s : TI-82 Advanced Edition Python (8 bits : eZ80 @48MHz)
  16. 14,11s : TI-83 Premium CE Edition Python (8 bits : eZ80 @48MHz)
  17. 20,11s : Casio Graph 25+E (32 bits : SH4 @29,49MHz)
  18. 26,75s : TI-84 Plus CE-T (révisions ≤L) (8 bits : eZ80 @48MHz accéléré AWSC)
  19. 31,97s : TI-83 Premium CE (8 bits : eZ80 @48MHz accéléré AWSC)
  20. 52,79s : TI-84 Plus T (8 bits : z80 @15MHz)
  21. 56,25s : TI-82 Advanced (8 bits : z80 @15MHz)
  22. 108,6s : Casio fx-92+ Spéciale Collège (8 bits : nX-U8/100 @?MHz)

Maintenant sur les modèles programmables, nous allons programmer un algorithme de seuil sur une suite numérique, niveau Première, programme que nous te transcrivons ici en Python à des fins de lisibilité :
Code: Select all
def seuil(d):
  n = 0
  u = 2.
  d = d**2
  while (u-1)**2 >= d:
    u = 1 + 1/((1-u) * (n+1))
    n = n + 1
  return [n, u]

Nous appellerons seuil(0.008).

Mais comme dit plus haut, ce code sera donc transcrit ligne à ligne dans le langage de programmation historique de chaque constructeur, bien souvent du Basic.

Et voilà le classement des modèles selon leurs performances sur le programme de seuil :
  1. 0,690s : HP Prime G2 (32 bits : Cortex-A7/ARMv7 @528MHz)
  2. 2,410s : HP Prime G1 (32 bits : ARM9/ARMv5 @400MHz)
  3. 8,930s : TI-Nspire CX II (32 bits : ARM9/ARMv5 @396MHz)
  4. 12,24s : TI-Nspire (32 bits : ARM9/ARMv5 @120MHz)
  5. 18,94s : TI-Nspire CX (révisions W+) (32 bits : ARM9/ARMv5 @156MHz)
  6. 20,92s : TI-Nspire CX (révisions ≤V) (32 bits : ARM9/ARMv5 @132MHz)
  7. 50,77s : Casio Graph 90+E (32 bits : SH4 @117,96MHz)
  8. 73,50s : Casio Graph 25+E II (32 bits : SH4 @58,98MHz)
  9. 81,03s : Casio Graph 35+E II (32 bits : SH4 @58,98MHz)
  10. 93,19s : TI-82 Advanced Edition Python (8 bits : eZ80 @48MHz)
  11. 94,26s : TI-84 Plus CE-T Python Edition / TI-84 Plus CE-T (révisions M+) (8 bits : eZ80 @48MHz)
  12. 98,64s : TI-83 Premium CE Edition Python (8 bits : eZ80 @48MHz)
  13. 101,1s : Casio Graph 35/75+E (32 bits : SH4 @29,49MHz)
  14. 119,6s : Casio Graph 25+E (32 bits : SH4 @29,49MHz)
  15. 194,4s : TI-84 Plus CE-T (révisions ≤L) (8 bits : eZ80 @48MHz)
  16. 196,8s : TI-83 Premium CE (8 bits : eZ80 @48MHz)
  17. 255,9s : TI-84 Plus T (8 bits : z80 @15MHz)
  18. 260,4s : TI-82 Advanced (8 bits : z80 @15MHz)
  19. 607.9s : Casio fx-CP400 (32 bits : SH4 @117,96MHz)
  20. 672,7s : Casio fx-92+ Spéciale Collège (8 bits : nX-U8/100 @?MHz)
  1. 0,690s : HP Prime G2 (32 bits : Cortex-A7/ARMv7 @528MHz)
  2. 2,410s : HP Prime G1 (32 bits : ARM9/ARMv5 @400MHz)
  3. 7,690s : TI-Nspire CX II (32 bits : ARM9/ARMv5 396MHz overclocké @480MHz NoverII)
  4. 10,02s : TI-Nspire (32 bits : ARM9/ARMv5 @120MHz overclocké @150MHz Nover)
  5. 18,64s : TI-Nspire CX (révisions W+) (32 bits : ARM9/ARMv5 @156MHz overclocké @216MHz Nover)
  6. 19,56s : TI-Nspire CX (révisions ≤V) (32 bits : ARM9/ARMv5 @132MHz overclocké @222MHz Nover)
  7. 23,26s : Casio Graph 35/75+E (32 bits : SH4 @29,49MHz overclocké @267,78MHz Ftune2)
  8. 26,36s : Casio Graph 35+E II (32 bits : SH4 @58,98MHz overclocké @274,91MHz Ftune3)
  9. 38,33s : Casio Graph 90+E (32 bits : SH4 @117,96MHz overclocké @270,77MHz Ptune3)
  10. 73,50s : Casio Graph 25+E II (32 bits : SH4 @58,98MHz)
  11. 93,19s : TI-82 Advanced Edition Python (8 bits : eZ80 @48MHz)
  12. 94,26s : TI-84 Plus CE-T Python Edition / TI-84 Plus CE-T (révisions M+) (8 bits : eZ80 @48MHz)
  13. 98,64s : TI-83 Premium CE Edition Python (8 bits : eZ80 @48MHz)
  14. 119,6s : Casio Graph 25+E (32 bits : SH4 @29,49MHz)
  15. 169,5s : TI-84 Plus CE-T (révisions ≤L) (8 bits : eZ80 @48MHz accéléré AWSC)
  16. 171,3s : TI-83 Premium CE (8 bits : eZ80 @48MHz accéléré AWSC)
  17. 255,9s : TI-84 Plus T (8 bits : z80 @15MHz)
  18. 260,4s : TI-82 Advanced (8 bits : z80 @15MHz)
  19. 607.9s : Casio fx-CP400 (32 bits : SH4 @117,96MHz)
  20. 672,7s : Casio fx-92+ Spéciale Collège (8 bits : nX-U8/100 @?MHz)

Deux indices de performances représentant chacun de ces deux tests sont dès maintenant disponibles, également pour les modèles plus anciens que nous avions encore sous la main :

Re: QCC 2021 Universel épisode 7: Performances générales

Unread postPosted: 19 Aug 2021, 16:00
by rentech7289
Mais comme dit plus haut, ce code sera donc transcrit ligne à ligne dans le langage de programmation historique de chaque constructeur, bien souvent du Basic.

Bizarre que la Nspire soit autant à la ramasse dans ce dernier test. Par rapport au test précédent, il manque encore trois secondes par rapport à la HP Prime G1 (60% grosso modo). J'ai l'impression qu'il s'agit d'une triple transcription: python vers lua, puis TI-Basic. Je pense plutôt à une triple transcription parce que lua apporte des fonctionnalités indisponibles en TI-Basic et que Texas a dû se reposer sur ce qui existait déjà. Je pense que c'est de là que viennent les 60% de performances manquants, à moins que...

Re: QCC 2021 Universel épisode 7: Performances générales

Unread postPosted: 19 Aug 2021, 16:06
by critor
De façon générale, relativement à leur processeur les TI-Nspire sont lentes. Aussi bien pour le calcul, que les programmes ou les scripts Python.
Il n'y a qu'à comparer avec les HP Prime, les seules caractéristiques du processeur ne me semblent pas pouvoir justifier un écart aussi phénoménal en performances.

Je suppose qu'il doit y avoir sur les TI-Nspire une certaine lourdeur du système, de l'environnement, ou encore du moteur de calcul... Et possiblement oui des transcriptions/conversions internes que nous ignorons.

La Casio Classpad II fx-CP400 par exemple, bien qu'utilisant le même processeur que la Graph 90+E, a un moteur de calcul formel qui peut se montrer extrêmement lent dans certaines situations, même dans un contexte numérique et même réglée en mode décimal. Le programme testé ici est loin d'être le pire des cas.

Re: QCC 2021 Universel épisode 7: Performances générales

Unread postPosted: 19 Aug 2021, 16:28
by cent20
critor wrote:
Maintenant sur les modèles programmables, nous allons programmer un un algorithme de seuil sur une suite numérique, niveau Première, programme que nous te transcrivons ici en Python à des fins de lisibilité :
Code: Select all
def seuil(d):
  n = 0
  u = 2.
  d = d**2
  while (u-1)**2 >= d:
    u = 1 + 1/((1-u) * (n+1))
    n = n + 1
  return [n, u]



Il manque la NumWorks dans ce classement, avec son langage historique donc python. :D
Il faut appeler la fonction seuil avec quelle valeur pour d ?

Re: QCC 2021 Universel épisode 7: Performances générales

Unread postPosted: 19 Aug 2021, 16:44
by critor
La NumWorks sera traitée à part dans un classement spécifique au Python. Il ne me semble pas pertinent de l'inclure dans ce classement-ci, son application Python étant comme bien souvent indépendante du reste du logiciel/environnement de la calculatrice, et donc non représentative des performances générales.

Sinon merci de m'avoir pointé l'oubli. C'est seuil(0.008), je viens de rajouter. :)

Re: QCC 2021 Universel épisode 7: Performances générales

Unread postPosted: 19 Aug 2021, 17:04
by rentech7289
Je suppose qu'il doit y avoir sur les TI-Nspire une certaine lourdeur du système, de l'environnement, ou encore du moteur de calcul... Et possiblement oui des transcriptions/conversions internes que nous ignorons.

Pour la dernière partie de cet extrait, je pense avoir apporté la réponse. Ce qui me laisse perplexe c'est qu'il y a 20 ans Texas a développé le CAS en assembleur pour la famille 68k. Les écarts en calcul sont dûs à la notation polonaise qui est assez proche de l'assembleur, le TI-Basic doit être interprété avant de pouvoir être exécuté par le microprocesseur. Le changement de microprocesseur n'explique pas à lui seul cette baisse entre les deux tests.
Je n'avais pas lus les résultats des autres Nspire mais il semblerait que depuis la première Nspire (6e et 4e dans l'ordre des tests) les algorithmes utilisés dans calculs pour les tests présents soient moins performants sur la seconde génération puisque la Nspire reprend du terrain sur la CX II dans le dernier test.

Re: QCC 2021 Universel épisode 7: Performances générales

Unread postPosted: 19 Aug 2021, 17:08
by critor
Oui, avec les TI-Nspire plus ça va , plus ça ralentit, et donc plus ça me semble être lourd.

Les TI-Nspire CX II donnent de meilleurs résultats, mais c'est parce que le processeur a été très nettement accéléré :
  • TI-Nspire monochromes : 120 MHz (90 MHz pendant le démarrage du système)
  • TI-Nspire CX : 132 MHz ou 156 MHz selon la révision matérielle
  • TI-Nspire CX II : 396 MHz (288 MHz en cas de connexion USB)

Re: QCC 2021 Universel épisode 7: Performances générales

Unread postPosted: 19 Aug 2021, 18:02
by DoOmnimaga
23,26s : Casio Graph 35/75+E (32 bits : SH4 @29,49MHz overclocké @267,78MHz Ftune2)
La calculatrice a-t-elle survécu à un tel overclock?????? :O J'ai une fx-9860g avec un SH3 et j'ai jamais essayé de l'overclocker plus haut que 110 Mhz environ.

Re: QCC 2021 Universel épisode 7: Performances générales

Unread postPosted: 19 Aug 2021, 18:13
by rentech7289
Les TI-Nspire CX II donnent de meilleurs résultats, mais c'est parce que le processeur a été très nettement accéléré

Ce n'est pas ce que j'ai voulu dire. Si tu regardes le classement, tu vois que les révisions de la première Nspire sont plus lentes que celle-ci en ayant des vitesses plus élevées. Tu ne peux pas aller moins vite avec les mêmes algorithmes sur une machine plus rapide avec la même architecte, donc les algorithmes sont devenus moins performants. Je ne sais pas si les algorithmes ont été modifiés depuis, mais il y a de quoi se poser des questions...

Re: QCC 2021 Universel épisode 7: Performances générales

Unread postPosted: 19 Aug 2021, 18:17
by critor
DJ Omnimaga wrote:
23,26s : Casio Graph 35/75+E (32 bits : SH4 @29,49MHz overclocké @267,78MHz Ftune2)
La calculatrice a-t-elle survécu à un tel overclock?????? :O J'ai une fx-9860g avec un SH3 et j'ai jamais essayé de l'overclocker plus haut que 110 Mhz environ.

Les Casio SH3/SH4 s'overclockent de façon super facile et hyper stable.

Jamais eu le moindre problème.

rentech7289 wrote:
Les TI-Nspire CX II donnent de meilleurs résultats, mais c'est parce que le processeur a été très nettement accéléré

Ce n'est pas ce que j'ai voulu dire. Si tu regardes le classement, tu vois que les révisions de la première Nspire sont plus lentes que celle-ci en ayant des vitesses plus élevées. Tu ne peux pas aller moins vite avec les mêmes algorithmes sur une machine plus rapide avec la même architecte, donc les algorithmes sont devenus moins performants. Je ne sais pas si les algorithmes ont été modifiés depuis, mais il y a de quoi se poser des questions...

Désolé si je me suis mal fait comprendre.

Je ne pense pas avoir dit le contraire, les algorithmes me semblent être de plus en plus lourds, de moins en moins efficaces.
C'est évident, les TI-Nspire CX sont moins performantes que les TI-Nspire monochromes, et ce malgré le même processeur cadencé à des fréquences supérieures.
Soit c'est de la faute des algorithmes, soit c'est que le processeur fait autre chose (lourdeur du système omniprésent, etc.).