Page 2 sur 3

Re: QCC 2017 épisode 19 : Performances

Message non luPosté: 03 Aoû 2017, 14:19
de critor
Yes, it translates to :
F1(X):=arcsin(arccos(cos(sin(arcsin(arccos(arctan(tan(cos(sin(arcsin(arccos(arctan(tan(cos(sin(X))))))))))))))))
F2(X):=-arcsin(arccos(cos(sin(arcsin(arccos(arctan(tan(cos(sin(arcsin(arccos(arctan(tan(cos(sin(X))))))))))))))))

Re: QCC 2017 épisode 19 : Performances

Message non luPosté: 03 Aoû 2017, 15:27
de parisse
critor a écrit: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.

Bon, ca explique les temps tres proches, ce serait peut-etre bien de le preciser pour ces modeles. Mais pas encore le *2 des nspire. Peut-etre que c'est le calcul approche qui est un peu lent sur les nspire ... je vais regarer si je peux encore grapiller quelques % dans la comparaison avec 0.02 (ca doit etre possible si le 0.02 est reecrit en 2/100 en comparant 100*n et 2*d)

Re: QCC 2017 épisode 19 : Performances

Message non luPosté: 16 Aoû 2017, 00:55
de Oregon
Bonjour,

J'hésite entre une HP Prime et une TI Nspire CX CAS, non pas pour l'école (il y a longtemps que j'ai passé l'âge), mais pour le fun, et pour faire de la programmation. La rapidité pour les calculs scientifiques est un critère important pour moi.

Serait-il possible d'avoir les performances de la TI Nspire CX CAS avec le langage Lua, d'après l'algorithme proposé dans ce test ?
D'après ce que j'ai lu, le Lua serait beaucoup plus rapide que le Basic standard de TI, mais tous les benchmarks que j'ai vus n'impliquent que des entiers. Or je me sers des calculatrices pour autre chose que des additions et des soustractions d'entiers. ;~)
Le seul test que je connaisse avec Lua sur des réels est tout simplement catastrophique :
viewtopic.php?f=15&t=12964&start=10#p148166
C'est assez déroutant… :#fou#:

J'aimerais donc savoir si une Nspire CX CAS programmée en Lua est rapide pour les calculs ou pas.
(Et accessoirement, je me pose la même question avec MicroPython.)

Re: QCC 2017 épisode 19 : Performances

Message non luPosté: 16 Aoû 2017, 11:53
de Adriweb
Sachant qu'il n'y a pas de FPU dans l'ARM de la Nspire (et pour autant qu'on sache c'est en gros le même sur HP Prime, juste plus rapide), et qu'en plus TI utilise un Lua modifié et non un LuaJIT modifié, les performances ne seront pas plus géniales que ce à quoi on peut s'attendre par du calcul soft pour des flottants... Donc la vitesse de calcul là dessus sera, si je ne m'abuse, dépendante directement de celle du processeur.
Donc forcément, si tu veux faire des calculs, sur calculatrice, utilisant des nombres réels, la Prime sera plus rapide...

Sinon, niveau benchmarks, sur mon ordi (logiciel TI-Nspire Computer Software) j'ai testé l'algo 100x en TI-Basic et en Lua histoire d'avoir une comparaison relative:
Basic: ≈ 2.80s (=> 2.80 ms chacun)
Lua: ≈ 0.013s (=> 0.13 ms chacun)
Donc... pour ce test ci, le lua serait en gros 2000 fois plus rapide. Ce qui ne m'étonne pas vraiment, à priori.

(Note: c'est bien du flottant dans les deux cas)

Pour ceux qui voudraient tester (ca serait d'autant plus intéressant de le faire sur calculatrice, tant qu'à faire, une révision matérielle récente), les codes :
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Tout sélectionner
Define qcc2017()=
Func
:Local n,u
:n:=0
:u:=2.
:While abs(u-1)≥0.02
:  n:=n+1
:  u:=1+((1)/((1-u)*(n+1)))
:EndWhile
:EndFunc

© test: For i,1,100:qcc2017():EndFor:Disp "done"

Code: Tout sélectionner
local abs = math.abs

function test()
    local n,u = 0,2.
    while abs(u-1)>=0.02 do
      n = n+1
      u = 1+((1)/((1-u)*(n+1)))
    end
end

print("started", timer.getMilliSecCounter())
local i
for i=0,100 do
  test()
end
print("done", timer.getMilliSecCounter() .. "\n")

Re: QCC 2017 épisode 19 : Performances

Message non luPosté: 16 Aoû 2017, 13:30
de critor
Merci pour le test.

Re: QCC 2017 épisode 19 : Performances

Message non luPosté: 30 Aoû 2017, 00:19
de critor
Sur NumWorks, les graphiques se tracent en 0,24s comme sur HP Prime :
87028703

Par contre, le programme porté en Python est encore plus rapide que sur la HP Prime même en mode numérique, crachant le résultat immédiatement en moins de 0,18s :
87008701

Des différences surprenantes si l'on se réfère aux spécifications officielles des constructeurs.

Image

Re: QCC 2017 épisode 19 : Performances

Message non luPosté: 30 Aoû 2017, 07:51
de parisse
C'est normal que ca soit plus rapide sur numworks si on compare du calcul numerique fait par le processeur sur les flottants en base 2 pour numworks a du calcul en base 10 fait par logiciel pour la Prime.

Re: QCC 2017 épisode 19 : Performances

Message non luPosté: 01 Sep 2018, 18:31
de critor
Dans le contexte du Python.
Toujours le même algo de seuil de niveau BAC :
Code: Tout sélectionner
def qcc2018(s):
  n=0
  u=2
  while abs(u-1)>=s:
    n=n+1
    u=1+1/((1-u)*(n+1))
  return [n,u]


Avec cette année la ligne d'appel qcc2018(0.009), les résultats sont de :
  1. 0,6s sur NumWorks
  2. 2,1s sur Casio Graph 90+E
  3. 66,71s sur HP Prime G2
  4. 150,58s sur HP Prime G1

Le problème de la HP Prime c'est que le Python n'est disponible que dans le contexte CAS au moteur de calcul beaucoup plus lourd et que, dans le cadre des scripts Python en tous cas, le réglage numérique/exact est ignoré.
Les calculs internes sont exacts, et le résultat final est exact également.

Re: QCC 2017 épisode 19 : Performances

Message non luPosté: 01 Sep 2018, 18:55
de critor
Prenons les fonctions :
t(x)=arcsin(arccos(arctan(tan(cos(sin(x))))))
f(x)=arcsin(sin(t(t(t(t(x))))))

Test un peu plus corsé que l'année dernière, maintenant que la NumWorks ne limite plus les saisies à 100 caractères.

Graphons 1 fonction f ou plusieurs pour les modèles les plus puissants, et regardons les temps moyens de tracer :
  1. 0,17s la HP Prime G2
  2. 0,30s la HP Prime G1
  3. 0,80s la NumWorks
  4. 10,18s la Casio Graph 90+E
  5. 15,15s les TI-Nspire CX et TI-Nspire CX CAS CR4+
  6. 18,33s les TI-Nspire, TI-Nspire TouchPad et TI-Nspire CAS TouchPad
  7. 23,62s les Casio Graph 25+E, Graph 35+E et Graph 75+E
  8. 35,83s ou une infinité (jusqu'à-ce que mort s'en suive) la Casio fx-CP400+E selon qu'elle est en mode réel ou complexe
  9. 147,26s la TI-84 Plus T
  10. 156,85s la TI-82 Advanced
  11. 206,90s les TI-83 Premium CE et TI-84 Plus CE-T
  12. 220,14s la Lexibook GC3000FR

A pondérer bien sûr en tenant compte de la largeur d'écran en pixels.

Re: QCC 2017 épisode 19 : Performances

Message non luPosté: 01 Sep 2018, 19:40
de parisse
critor, pour qcc2018, il suffit de changer u=2 en u=2.0 pour avoir une comparaison equitable sur les 3 calculatrices, sinon on compare des pommes et des oranges. Sachant que la division / en Python renvoie des flottants, ca ne change rien pour les autres modeles. La HP Prime est alors beaucoup plus rapide, la G2 en particulier.