Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation C » Benchage (8 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
Thor Ecrit le: Mardi 17 février 2004 à 17:23 Déconnecté(e)    Voir le profil de Thor Envoyer un email à Thor Visiter le site WEB de Thor Envoyer un message privé à Thor  


On dit souvent qu'une fonction est plus rapide qu'une autre mais comment effectuer cette étude sur les vitesse d'exécution?
Cyril MOTTIER aka {==Thor==}
Modérateur général du forum de Tigen
[Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
    
./Post n°1   Marquer comme non lu.
geogeo Ecrit le: Mardi 17 février 2004 à 17:54 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Ca ce fait surtout au niveau de l'ASM En tout cas mieux vaut faire un algorithme optimisé généralement la vitesse est suffisante.
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°2   Marquer comme non lu.
Billy Charvet Ecrit le: Lundi 23 février 2004 à 17:13 Déconnecté(e)    Voir le profil de Billy Charvet Envoyer un email à Billy Charvet Visiter le site WEB de Billy Charvet Envoyer un message privé à Billy Charvet  


On peut faire ça de manière simple:
on fait beaucoup d'appels à une fonction en chronométrant le temps.
On a pas de routines très précises pour chronométrer, alors souvent c'est
à la main que ça se fait, il faut donc faire 10000 appels ou plus à la fonction
à appeler, puis 10000 autres à l'autre fonction avec laquelle comparer...

En Basic, ça marche aussi, il faut là-aussi faire ça sur une très grande échelle.
J'ai appelé la fonction d'effacement d'écran de flib ( flib("clrscr") )
suffisamment de fois pour que le temps d'exécution prenne 100 secondes.
Ensuite j'ai fait s'exécuter autant de fois mon propre programme, cs(), qui est
le programme nostub minimal pour effacer l'écran (simple appel à tios::ClrScr)
. Le résultat devait être de 54 secondes, donc ma fonction est à peu près deux fois plus
rapide. :)
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.
    
./Post n°3   Marquer comme non lu.
Sasume Ecrit le: Lundi 23 février 2004 à 18:44 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

À mon avis c'est bien plus précis d'utiliser les interruptions de la TI pour compter plutôt que ton chronomètre à la main. La HW2 a une horloge très précise.
    
./Post n°4   Marquer comme non lu.
Lionel Debroux Ecrit le: Lundi 23 février 2004 à 18:50 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

Sur HW2, PRG_setStart(0xCF) décuple la précision de l'AI5 (~19.32 fois par seconde -> ~20.07 fois par seconde).
L'AI3 est à 1 Hz précisément, mais une mesure faite à l'aide de l'AI3 est évidemment moins précise qu'une mesure faite avec l'AI5.
Lionel Debroux - membre de TICT.
    
./Post n°5   Marquer comme non lu.
Kevin Kofler Ecrit le: Lundi 23 février 2004 à 23:14 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


<< En Basic, ça marche aussi, il faut là-aussi faire ça sur une très grande échelle.
J'ai appelé la fonction d'effacement d'écran de flib ( flib("clrscr") )
suffisamment de fois pour que le temps d'exécution prenne 100 secondes.
Ensuite j'ai fait s'exécuter autant de fois mon propre programme, cs(), qui est
le programme nostub minimal pour effacer l'écran (simple appel à tios::ClrScr)
. Le résultat devait être de 54 secondes, donc ma fonction est à peu près deux fois plus
rapide. :) >>
Ça ne veut rien dire. Ton bench est très mauvais. FLib doit d'abord lire et interpréter la chaîne passée en paramètres. Ta fonction, elle, appelle directement celle de AMS.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°6   Marquer comme non lu.
Thor Ecrit le: Mardi 24 février 2004 à 10:15 Déconnecté(e)    Voir le profil de Thor Envoyer un email à Thor Visiter le site WEB de Thor Envoyer un message privé à Thor  


Donc le mieux c'est d'utiliser les AI?
Cyril MOTTIER aka {==Thor==}
Modérateur général du forum de Tigen
[Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
    
./Post n°7   Marquer comme non lu.
Billy Charvet Ecrit le: Mardi 24 février 2004 à 14:22 Déconnecté(e)    Voir le profil de Billy Charvet Envoyer un email à Billy Charvet Visiter le site WEB de Billy Charvet Envoyer un message privé à Billy Charvet  


Kevin > Non, je ne le trouve pas très mauvais:

Il utilise l'horloge de l'AMS 2.09 donc précision à la seconde seulement
-> Nul, d'accord.

Questions d'analyse de la chaîne -> Ben si c'est un bon test, car c'est mis
en situation réelle. Certes ça exclut la qualité de la prog au sein des deux
programmes compilés, mais en utilisation réelle l'utilisateur va de toute façon
appeler flib avec l'argument "clrscr" sur l'EStack, donc perdre du temps, de plus
un strcmp doit être fait etc........

Ca fait que mon programme cs() n'a pas de mérite à aller deux fois plus vite.
Toujours est-il qu'il va (je devrait dire "est appelé" ?) deux fois plus vite
que flib("clrscr") lors d'une utilisation. :p
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.
    
./Post n°8   Marquer comme non lu.
Sasume Ecrit le: Mardi 24 février 2004 à 16:05 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

de plus un strcmp doit être fait
Pas forcément, si c'est bien programmé.

Et, oui, à l'utilisation, ton programme est plus rapide qu'un flib("clrscr"), mais il va de soi que ce n'est pas comparable puisque ton prog ne peut qu'effacer l'écran contrairement à flib qui peut faire tout un tas de trucs.
    
  :: Index » Forum Ti68K » Programmation C » Benchage (8 réponse(s))
Pages : 1/1     « [1] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 46.2ms avec 18 requetes