Autorisation : Membre
Nb de messages : 10
Inscrit le : Dim 20 Mai 2012, 1:59
Posté le : Jeu 31 Mai 2012, 3: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 !!!
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 31 Mai 2012, 15:22
C'est intéressant une énumération d'expériences ainsi.
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)
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)