Forum

Catégorie : Support
Forum : TI-82 STATS.fr
Vues : 2482
Réponses : 23
Type : discussion
Etat : réponses autorisées

La lenteur de la TI82 - Page 2 / 2

tomboul le 31/05/2012 à 03:00
He !! bonne idée le récursif !!
tu fais en deux lignes ce que je fais en 6 lignes, bon ce n'est pas tout à fait la même chose

avec ton prgmBUG j'arrive à 1475 pour 23ko de ram libre pour une 82statfr avec un plantage mémoire arrivant assez rapidement au bout d'environ 10 secondes

Si j'y ajoute un if
Code

if Ans>=0
Ans+1
prgmBUG


le plantage mémoire arrive au bout de 2mn30 et ans=1473

Si je change le if en if then ... end
Code

if Ans>=0
then
Ans+1
prgmBUG
end


le plantage arrive au bout d'un trentaine de secondes et ans=462

Si je change le if en for
Code

for(i,0,1)
Ans+1
prgmBUG
end


plantage mémoire au bout de 5 secondes et ans=400

Si je ne fais plus de récursif mais un goto hors 'for'
Code

lbl 1
for(i,0,1)
Ans+1
goto 1
end


plantage mémoire au bout de 5 secondes et ans=548

Si je fais un if au lieu du for
Code

lbl 1
if ans>-1
then
Ans+1
goto 1
end


plantage mémoire au bout de 60 secondes et ans=655

Si je fais un if avec >=0 au lieu du >-1
Code

lbl 1
if ans>=0
then
Ans+1
goto 1
end


plantage mémoire au bout de 80 secondes et ans=673


on pourrait continuer longtemps plusieurs expérience dans ce genre, mais franchement je ne vois pas encore le lien logique entre le temps d'exécution, le nombre d'incrémentations selon les instructions utilisées ou non !!!

ceci mérite réflexion avant conclusion
Persalteas le 31/05/2012 à 09:09
Il y a peut-être une équation qui relie tout ça... Ce serait intéressant de connaître le fonctionnement.

Tu me permets de copier-coller ton post sur d'autres forums pour demander ? (ou alors tu le fais toi...)
linkakro le 31/05/2012 à 15:22
C'est intéressant une énumération d'expériences ainsi. happy.gif
Si vous le postez ailleurs, pensez à mentionner l'influence de la RAM libre.

Ma seule hypothèse est que la nature des instructions impose de stocker des informations différentes dans la pile (ou la ram...) selon l'instruction.

Il semble bien qu'une procédure récursive soit moins lourde que des instructions de boucles, puisque les itérations varient du simple au triple entre ces deux catégories d'expériences.

Un prgm devrait stocker une adresse interne à un programme et une adresse de programme,
Un While devrait stocker une adresse et un test,
Un For devrait stocker l'identité de la variable ainsi que trois arguments,
...
(pour le For je suis sûr de moi à cause de mes expériences)
Persalteas le 31/05/2012 à 16:50
J'ai posé la question sur Omnimaga.

Nous verrons bien si on y répond...

http://www.omnimaga.org/index.[...]49979#msg249979