Vitesse Lua et mathématiques ?
Vitesse Lua et mathématiques ?
Bonjour,
Le langage Lua est réputé très rapide, comme on peut le constater sur ce tableau comparatif de performances :
http://www.hpmuseum.org/cgi-sys/cgiwrap ... i?read=700
Mais en est-il de même avec des calculs mathématiques ?
Sur le forum HP Museum, un benchmark a été proposé pour tester la vitesse de diverses calculatrices sur une petite formule mathématique. Il s'agit de calculer la somme de 1 à n de :
[exp(sin(atan n))]^(1/3)
Selon le temps nécessaire, n peut être égal à 10, 100, 1000, etc.
Voir le sujet ici : http://www.hpmuseum.org/forum/thread-9750.html
Un possesseur de Ti Nspire pourrait-il écrire ce petit programme en Lua, et l'exécuter sur la calculatrice pour donner le temps d'exécution ? Je suis curieux de connaître le résultat.
Le langage Lua est réputé très rapide, comme on peut le constater sur ce tableau comparatif de performances :
http://www.hpmuseum.org/cgi-sys/cgiwrap ... i?read=700
Mais en est-il de même avec des calculs mathématiques ?
Sur le forum HP Museum, un benchmark a été proposé pour tester la vitesse de diverses calculatrices sur une petite formule mathématique. Il s'agit de calculer la somme de 1 à n de :
[exp(sin(atan n))]^(1/3)
Selon le temps nécessaire, n peut être égal à 10, 100, 1000, etc.
Voir le sujet ici : http://www.hpmuseum.org/forum/thread-9750.html
Un possesseur de Ti Nspire pourrait-il écrire ce petit programme en Lua, et l'exécuter sur la calculatrice pour donner le temps d'exécution ? Je suis curieux de connaître le résultat.
-
Oregon
Niveau 2: MI2 (Membre Initié)- Messages: 5
- Inscription: 10 Mar 2017, 19:52
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: Vitesse Lua et mathématiques ?
Bonjour,
Code écrit et exécuté dans JSE sur TI nSpire CX CAS
s=139560,97614105
t=48560 soit 48,56s
Code écrit et exécuté dans JSE sur TI nSpire CX CAS
- Code: Tout sélectionner
local s,t,x
t=timer.getMilliSecCounter()
s=0
for x=1,100000 do
s=s+(math.exp(math.sin(math.atan(x))))^(1/3)
end
t=timer.getMilliSecCounter()-t
print(s,t)
s=139560,97614105
t=48560 soit 48,56s
-
RedFox
Niveau 2: MI2 (Membre Initié)- Messages: 8
- Inscription: 02 Sep 2018, 09:47
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: Vitesse Lua et mathématiques ?
@RedFox: What about celui ci (localisation des fonctions math)
Par ailleurs, quelle révision matérielle (et OS), ta TI-Nspire CX CAS ? Elles ont bien évolué au cours du temps !
- Code: Tout sélectionner
local s,t,x
local exp, sin, atan = math.exp, math.sin, math.atan
t=timer.getMilliSecCounter()
s=0
for x=1,100000 do
s=s+(exp(sin(atan(x))))^(1/3)
end
t=timer.getMilliSecCounter()-t
print(s,t)
Par ailleurs, quelle révision matérielle (et OS), ta TI-Nspire CX CAS ? Elles ont bien évolué au cours du temps !
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...)-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 14653
- Images: 1118
- Inscription: 01 Juin 2007, 00:00
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Twitter/X: adriweb
- GitHub: adriweb
Re: Vitesse Lua et mathématiques ?
@Adriweb
Ça varie entre 47,11s et 47,17s soit un gain d'environ 1,4s.
MAIS si j'initialise le timer juste avant la localisation des fonctions le gain varie entre 1,2 et 1,3s. Il n'y a donc un gain a localiser les fonctions que si on les appelle plusieurs dizaines de milliers de fois.
C'est une révision P-0411A avec l'OS 4.5.0.1180
Ça varie entre 47,11s et 47,17s soit un gain d'environ 1,4s.
MAIS si j'initialise le timer juste avant la localisation des fonctions le gain varie entre 1,2 et 1,3s. Il n'y a donc un gain a localiser les fonctions que si on les appelle plusieurs dizaines de milliers de fois.
C'est une révision P-0411A avec l'OS 4.5.0.1180
-
RedFox
Niveau 2: MI2 (Membre Initié)- Messages: 8
- Inscription: 02 Sep 2018, 09:47
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: Vitesse Lua et mathématiques ?
Bonsoir,
Je me suis fait un petit challenge. Faire ce petit bench en C avec le SDK Ndless pour voir...
Ça m'a pris 5h pour compiler le toolkit depuis github, comprendre l'API en lisant divers code source et debugguer ce truc...
J'obtiens 139559.580529 en 12s
N'hésitez pas à corriger ce bout de programme
PS: Comment on fait pour avoir un timer en ms ?
Je me suis fait un petit challenge. Faire ce petit bench en C avec le SDK Ndless pour voir...
Ça m'a pris 5h pour compiler le toolkit depuis github, comprendre l'API en lisant divers code source et debugguer ce truc...
- Code: Tout sélectionner
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <libndls.h>
#define REAL_TIME_CLOCK_ADDRESS ((uint32_t*)0x90090000)
int main(void) {
unsigned long int t=*REAL_TIME_CLOCK_ADDRESS;
unsigned long int x=0;
double s=0;
puts("Begin calc...");
for (x=1;x<100000;x++) {
s=s+pow((exp(sin(atan(x)))),1.0/3.0);
}
t=*REAL_TIME_CLOCK_ADDRESS-t;
puts("End calc...");
printf("Sum is %f in %lu s\n",s,t);
wait_key_pressed();
return 0;
}
J'obtiens 139559.580529 en 12s
N'hésitez pas à corriger ce bout de programme
PS: Comment on fait pour avoir un timer en ms ?
-
RedFox
Niveau 2: MI2 (Membre Initié)- Messages: 8
- Inscription: 02 Sep 2018, 09:47
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: Vitesse Lua et mathématiques ?
Merci RedFox !
Les performances de Lua en calculs sont donc bien réelles.
Je vais demander d'ajouter ce résultat au listing sur HP Museum.
Pour être rigoureux, je pense que sur le programme en C il aurait fallu écrire :
for (x=1;x<=100000;x++)
Les performances de Lua en calculs sont donc bien réelles.
Je vais demander d'ajouter ce résultat au listing sur HP Museum.
Pour être rigoureux, je pense que sur le programme en C il aurait fallu écrire :
for (x=1;x<=100000;x++)
-
Oregon
Niveau 2: MI2 (Membre Initié)- Messages: 5
- Inscription: 10 Mar 2017, 19:52
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: Vitesse Lua et mathématiques ?
Le Lua n'est pas mauvais, mais serait encore mieux avec LuaJIT ^^
Il existe bien pour ARM, mais malheureusement ce n'est pas la version choisie par TI (certes je ne connais pas dans quel etait c'etait dispo a l'epoque)
Il existe bien pour ARM, mais malheureusement ce n'est pas la version choisie par TI (certes je ne connais pas dans quel etait c'etait dispo a l'epoque)
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...)-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 14653
- Images: 1118
- Inscription: 01 Juin 2007, 00:00
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Twitter/X: adriweb
- GitHub: adriweb
Re: Vitesse Lua et mathématiques ?
RedFox a écrit:Bonsoir,
Ça m'a pris 5h pour compiler le toolkit depuis github, comprendre l'API en lisant divers code source et debugguer ce truc...
J'obtiens 139559.580529 en 12s
J'ai mis pas mal de temps moi aussi pour l'installer. Je n'avais pas la conf idéale... Merci @Adriweb!
Du coup, pour faire des tests, j'ai essayé ton code.
La compilation se passe bien, mais le tns ne fait rien sur la calculatrice (TI Nspire CX CAS). Du moins, il n'affiche rien.
Es-tu sûr que c'est bien ce code que tu as compilé ?
-
NouryVIP++
Niveau 11: LV (Légende Vivante)- Messages: 288
- Inscription: 07 Sep 2018, 09:19
- Localisation: Sceaux, France 92
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: Vitesse Lua et mathématiques ?
C'est bon, le code n'y est pour rien.
C'est le Makefile qui pose problème.
Le mien a été généré comme indiqué dans la doc par la commande "nspire-tools new ..."
Malheureusement, ça génère une ligne LDFLAGS vide. La tienne contient
Etant "bleu" en ndless je ne sais pas pourquoi. Mais bon le code s'exécute correctement.
Pour info, j'obtiens:
Sum is 139559.580529 in 9 s
Sur une révision N-0118AB avec l'OS 4.5.0.1180
C'est le Makefile qui pose problème.
Le mien a été généré comme indiqué dans la doc par la commande "nspire-tools new ..."
Malheureusement, ça génère une ligne LDFLAGS vide. La tienne contient
LDFLAGS = -Wl,--nspireio,--gc-sections
Etant "bleu" en ndless je ne sais pas pourquoi. Mais bon le code s'exécute correctement.
Pour info, j'obtiens:
Sum is 139559.580529 in 9 s
Sur une révision N-0118AB avec l'OS 4.5.0.1180
-
NouryVIP++
Niveau 11: LV (Légende Vivante)- Messages: 288
- Inscription: 07 Sep 2018, 09:19
- Localisation: Sceaux, France 92
- Genre:
- Calculatrice(s):→ MyCalcs profile
Re: Vitesse Lua et mathématiques ?
nbenm a écrit:Sur une révision N-0118AB
Oh ben tiens, on ne connaissait pas cette révision (du moins pas avec ce code usine+date), merci
Pour info, parmi les révisions "récentes", on a ceci :
- Code: Tout sélectionner
P 1015-0116 W ("CR IV")
P 0316-0816 X ("CR VI")
P 0416-0916 Y ("CR VI")
P 1116 Z
P 0217-0617 AA ("CR VII")
P 0217-0717 AB
N 0118 AB
N 1017-0418 AC
N 0118-0418 AD
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...)-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Messages: 14653
- Images: 1118
- Inscription: 01 Juin 2007, 00:00
- Localisation: France
- Genre:
- Calculatrice(s):→ MyCalcs profile
- Twitter/X: adriweb
- GitHub: adriweb
12 messages
• Page 1 sur 2 • 1, 2
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 8 invités