infos sur le timing

emge25

New Member
Bonsoir à tous,
Je viens de programmer sans trop de difficultés mon premier picaxe. Il s'agissait d'afficher l'azimut sur mon télescope.
Ce qui m'a surpris et franchement déçu c'est la désespérante lenteur du bidule.:mad:
Je ne comprend pas pourquoi toute l'intelligence du système n'est pas dans le programme de l'ordinateur qui inscrirait
juste les codes machine dans le processeur. S'agit'il de basses considérations commerciales?..:rolleyes:

Bref ma question est comment faire au mieux avec les choses telles qu'elles sont?
Où peut on trouver des informations sur la durée des diverses commandes pour d'une part optimiser le programme et
d'autre part, évaluer avant essai, l'ordre de grandeur de la durée des différentes boucles d'un programme.
Merci d'avance de votre intérêt pour mon petit problème
 

BESQUEUT

Senior Member
Bonjour et bienvenue.
Il serait utile de voir votre code pour émettre un avis sur la "lenteur" supposée du Picaxe.
Toutefois, il est clair que l'objectif est surtout d'avoir quelque chose de facile à programmer, au détriment de la performance pure : il s'agit d'un langage interprété et non compilé.
Pour plus de précisions et en particulier la durée des instructions, voir :

http://elecurls.tripod.com/filz/PICAXE-ProgramSizeOptimisationAndSpeed-Rev_D-1.pdf
 
Last edited:

PieM

Senior Member
Ce qui m'a surpris et franchement déçu c'est la désespérante lenteur du bidule.:mad:
Je ne comprend pas pourquoi toute l'intelligence du système n'est pas dans le programme de l'ordinateur qui inscrirait
juste les codes machine dans le processeur. S'agit'il de basses considérations commerciales?..:rolleyes:
C'est quoi comme "bidule" ?
La solution existe: prenez un PIC et programmez le en assembleur si vous devez suivre des étoiles filantes !

Quant aux basses considérations commerciales, elles font que de nombreux jeunes et moins jeunes peuvent aborder la programmation de µC avec un coût extrèmement bas et un langage simple servi par un logiciel gratuit !


Bref ma question est comment faire au mieux avec les choses telles qu'elles sont?
Ne sachant pas ce que sont les "choses" , difficile d'apporter une aide ...
 

emge25

New Member
merci pour vos réponses.
Besqueut : merci pour le lien, je suppose que c'est exactement ce qu'il me faut. Malheureusement, le lien me renvoie un code 404.
PieM :
Bon, c'est vrai qu'à cheval (presque) donné on ne regarde pas la bouche...
En fait, mon programme tel qu'il est me donne satisfaction moyennant un passage de mon 28X1 à 8Mhz.
C'est en vue d'autres programmes éventuels que je souhaite avoir des infos sur la durée des instructions.
 

BESQUEUT

Senior Member
:confused: J'ai mis à jour le post #2 : merci de vérifier si le lien marche maintenant.
Ce n'est pas tant une question de prix mais d'état d'esprit. Un Picaxe est avant tout conçu pour être facile à programmer.
Et si comme vous le dites, la vitesse est suffisante pour le besoin envisagé, à quoi bon aller plus vite ?
Vous pouvez poussez certains modèles jusqu'à 64 MHz.
Comme pour tous les langages interprétés, la notion de vitesse est toute relative :
- d'un coté certaines instructions peuvent mettre jusqu'à 1000 fois plus de temps que l'équivalent en assembleur,
- d'un autre coté, une seule instruction remplace des centaines de lignes d'assembleur...
Je dirais que l'un n'est pas meilleur que l'autre : celà dépends du besoin.
 

emge25

New Member
Merci pour le lien qui cette fois ci fonctionne très bien:).
Le document est très intéressant même si c'est incomplet (si vous,ou quelqu'un en connaissez d'autres sur le même sujet je reste preneur).
Par exemple, je me posais la question: vaut il mieux, en terme de vitesse, utiliser un on ...gosub ou un case select lorsque
chaque cas se traite avec quelques lignes seulement.
 

BESQUEUT

Senior Member
Je n'ai rien de mieux mais ça doit exister.
Vous pouvez également faire vos propres mesures. Il faut dans un premier temps mesurer la durée d'execution d'une boucle vide (allumage d'une led, extinction pendant la boucle, puis nouvel allumage). Puis vous mettez dans la boucle les instructions à tester et par différence, vous pouvez en déduire le gain possible.
Il y a souvent différentes façons de parvenir à un même résultat. Peut-être pouvez-vous en dire plus sur votre projet et sur les parties pour lesquelles la vitesse d'éxécution est critique...
 
Top