π
<-
Chat plein-écran
[^]

Vitesse Lua et mathématiques ?

Pour TI-Nspire OS 3.0 ou ultérieur.

Vitesse Lua et mathématiques ?

Message non lude Oregon » 30 Jan 2018, 02:27

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.
Avatar de l’utilisateur
Oregon
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 25%
 
Messages: 3
Inscription: 10 Mar 2017, 19:52
Genre: Homme

Re: Vitesse Lua et mathématiques ?

Message non lude RedFox » 02 Sep 2018, 09:58

Bonjour,

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
Avatar de l’utilisateur
RedFox
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Prochain niv.: 0%
 
Messages: 8
Inscription: 02 Sep 2018, 09:47
Genre: Non spécifié
Calculatrice(s):

Re: Vitesse Lua et mathématiques ?

Message non lude Adriweb » 02 Sep 2018, 17:10

@RedFox: What about celui ci (localisation des fonctions math)

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 !
Avatar de l’utilisateur
AdriwebAdmin.
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 49.4%
 
Messages: 12245
Images: 1079
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
Classe: (ingénieur)
Twitter: adriweb
GitHub: adriweb

Re: Vitesse Lua et mathématiques ?

Message non lude RedFox » 02 Sep 2018, 19:03

@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
Avatar de l’utilisateur
RedFox
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Prochain niv.: 0%
 
Messages: 8
Inscription: 02 Sep 2018, 09:47
Genre: Non spécifié
Calculatrice(s):

Re: Vitesse Lua et mathématiques ?

Message non lude RedFox » 05 Sep 2018, 00:48

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...

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 ?
Avatar de l’utilisateur
RedFox
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Prochain niv.: 0%
 
Messages: 8
Inscription: 02 Sep 2018, 09:47
Genre: Non spécifié
Calculatrice(s):

Re: Vitesse Lua et mathématiques ?

Message non lude Oregon » 16 Nov 2018, 01:40

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++)
Avatar de l’utilisateur
Oregon
Niveau 3: MH (Membre Habitué)
Niveau 3: MH (Membre Habitué)
Prochain niv.: 25%
 
Messages: 3
Inscription: 10 Mar 2017, 19:52
Genre: Homme

Re: Vitesse Lua et mathématiques ?

Message non lude Adriweb » 16 Nov 2018, 12:52

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)
Avatar de l’utilisateur
AdriwebAdmin.
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 49.4%
 
Messages: 12245
Images: 1079
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
Classe: (ingénieur)
Twitter: adriweb
GitHub: adriweb

Re: Vitesse Lua et mathématiques ?

Message non lude nbenm » 16 Nov 2018, 20:21

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é ?
Avatar de l’utilisateur
nbenmVIP++
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 82.2%
 
Messages: 107
Inscription: 07 Sep 2018, 09:19
Localisation: 92
Genre: Homme
Calculatrice(s):

Re: Vitesse Lua et mathématiques ?

Message non lude nbenm » 17 Nov 2018, 11:32

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 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
Avatar de l’utilisateur
nbenmVIP++
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 82.2%
 
Messages: 107
Inscription: 07 Sep 2018, 09:19
Localisation: 92
Genre: Homme
Calculatrice(s):

Re: Vitesse Lua et mathématiques ?

Message non lude Adriweb » 18 Nov 2018, 15:25

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
Avatar de l’utilisateur
AdriwebAdmin.
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 49.4%
 
Messages: 12245
Images: 1079
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
Classe: (ingénieur)
Twitter: adriweb
GitHub: adriweb

Suivante

Retourner vers Nspire-Lua

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

Campagne de dons
Pour nous aider à financer nos déplacements sur les salons/congrès qui vous donnent du contenu exclusif

Vous aurez droit aux avantages VIP et des goodies !
23%
-
Rechercher
-
Sujets à la une
Avantages VIP et goodies pour les donateurs !
Offre TI-Planet/Jarrety pour avoir la TI-83 Premium CE avec son chargeur pour 79,79€ port inclus !
Offre TI-Planet/Jarrety pour avoir la TI-Nspire CX CAS à seulement 130€ TTC port inclus!
Jailbreake ta TI-Nspire avec Ndless et profite des meilleurs jeux et applications !
1234
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...

Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety 
-
Stats.
570 utilisateurs:
>541 invités
>24 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)