Forum

Catégorie : Programmes
Forum : Aide à la programmation
Vues : 604
Réponses : 1
Type : discussion
Etat : réponses autorisées

Vitesse des commandes

sandro le 21/05/2011 à 16:35
Bonjour/bonsoir
Est-ce que quelcun aurrait une liste du temps nécésaire à la calculatrice pour effectuer des commandes (en millisecondes) et quels sont les facteurs qui ont une influance :
-la mémoire disponible? si oui inpacte "mathématique" : fonction vitesse=f(mémoire occupée/disponible)
-le placement dans une boucle?
-...

Merci d'avance
Sandro
linkakro le 21/05/2011 à 18:26
Je n'ai aucune liste des temps en miliseconde.

Ils dépendent de la mémoire RAM, de ton processeur, des boucles employées de la fonction en elle même et de la variable liée.


-Les goto parcourent tout le programme jusqu'au premier label correspondant. (à éviter dans les longs programmes, car la recherche ralentit)
-La calculatrice garde en mémoire les boucles tant qu'elles ne sont pas terminées, même si des boucles sont imbriquées. Cela ralentit le programme pendant toute la durée de la boucle MAIS la calculatrice ne cherche pas certaines lignes d'où certains gains de temps.
De plus, à éviter quand des goto provoquent régulièrement des sorties de boucles

===

Tu peux très bien tester des vitesses d'execution avec des programmes bidons.
Code
For(W,1,10
!69
End
Puis idem avec un For vide si tu veux augmenter ta précision.

Ici je teste la vitesse de !69. Chronomètre les executions, calcule la différence puis divise par 10 pour connaître le temps de chaque execution.

J'ai choisi 10 itérations (executions) car 69! est lent. Plus l'action est rapide et plus tu dois utiliser un grand nombre d'itérations.

===

Je peux toutefois te donner une hiérarchie que j'ai constaté entre quelques unes : (du plus rapide au moins rapide)

La division est plus lente que la multiplication par un inverse.

accès à certaines valeurs :
-lettre
-valeur dans une liste (surtout les longues)
-valeur dans une matrice (surtout les grandes) (proche des listes)
-chaîne

opérations globales sur des listes, matrice, chaîne :
-liste
-matrice
- créer des sous-chaîne (très lourd en comparaison)