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 » GFA-Basic TI68K » News » Rapport de performances (181 réponse(s))
./REPRISE DU POST PRECEDENT (post n°133)   Marquer comme non lu.
Kevin Kofler Ecrit le: Jeudi 10 février 2005 à 16:49 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  


Bah, c'est déjà une bonne chose, non? #roll#
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°134   Marquer comme non lu.
Billy Charvet Ecrit le: Jeudi 10 février 2005 à 16:51 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  


A la rigueur geogeo peut faire une version pour le développement.
Le développeur ne fera pas planter sa TI. De plus cette version pourrait
se voir ajouter de l'exécution pas à pas, consultation et modification des
valeurs des variables etc...

Le tout sans pénaliser la performance finale, qui est très importante pour
GFA-Basic. :D
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.
    
./Post n°135   Marquer comme non lu.
Onur Ecrit le: Jeudi 10 février 2005 à 17:00 Déconnecté(e)    Voir le profil de Onur Envoyer un email à Onur Visiter le site WEB de Onur Envoyer un message privé à Onur  


Ca c'est une excellente idée. On a un interpréteur sous la main, donc il a qu'à faire un mode qu'on peut "switcher" entre debug et release. De plus quand il en fera un compilateur, là, ca sera le pied. On développe en mode debug/interprete et quand y a plus de bug, on fait release/compile! Ca va etre ENORME.

Sinon j'ai le même genre de probleme pour les strings mais je n'ai pas d'interpreteur moi. Donc faudrait que j'adopte une des solutions, je suis ce topic de près.
Je ne veux pas faire quelque chose de bien, je cherche l'excellence:ETP Studio...


et autres projets à finir avant 2010
    
./Post n°136   Marquer comme non lu.
Kevin Kofler Ecrit le: Jeudi 10 février 2005 à 17:59 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  


Billy Charvet :
A la rigueur geogeo peut faire une version pour le développement.
Le développeur ne fera pas planter sa TI. De plus cette version pourrait
se voir ajouter de l'exécution pas à pas, consultation et modification des
valeurs des variables etc...

C'est malin, le développeur (celui qui les provoque, et doit déjà être habitué aux resets) est protégé contre les plantages et pas le pauvre utilisateur. #roll#
-Edité le Jeudi 10 février 2005 à 17:59 par Kevin Kofler-
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°137   Marquer comme non lu.
Billy Charvet Ecrit le: Jeudi 10 février 2005 à 18:07 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  


Parceque le développeur aura bien fait son programme. :p
Je suis tel la fleur du lotus.
Bien que naissant de la boue,
aucune boue n'y adhère.
    
./Post n°138   Marquer comme non lu.
geogeo Ecrit le: Jeudi 10 février 2005 à 21:33 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


La seule manière fiable de gérer ça est de faire un bound check. C'est une simple comparaison de pointeurs, ce n'est vraiment pas coûteux, et c'est la seule manière d'avoir quelque chose qui ne plante pas en cas de débordement.


C'est ce que je fais.
Mais franchement le gars qui fait 15000 concanétations de chaînes de caractères faut être fou surtout avec un langage interprété.

Tout façon y aura toujours moyen de négocier avec une variable d'enrionnement! Genre l'user décide dans la phase d'initialisation du programme d'attribuer tel espace à telle pile...

Je ne veux pas attribuer 65 Ko directement car cette espace sera dans 95% des programmes très peu utilisé voir pas du tout!

Ensuite faire une version de développement, euh ça servirai pas à grand chose car je peux virer tous les tests que je fais pour éviter de planter un programme mais le gain sera faible. Le but d'un interpréteur est de donner un certain confort de programmation, je ne vois donc pas GFA Basic planter pour une opération simple qu'il n'a pas réussie à executer. GFA Basic peut planter lorsque le programmeur fait un peu n'importe quoi, genre chaîne de caractères qui n'est pas à une adresse paire...

En tout cas la seule façon de gagner des ressources est d'optimiser mon code mais qui aura le courage de ce plonger dans un code qui fait plus de 5000 lignes d'ASM et dont la convention des registres n'est pas respecter (dans le but de ne pas faire des sauvegardes inutiles...).
-Edité le Jeudi 10 février 2005 à 21:34 par geogeo-
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°139   Marquer comme non lu.
geogeo Ecrit le: Jeudi 14 avril 2005 à 01:51 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Encore de l'optimisation!!! J'ai commencé à faire des optimisations assez extrème mais qui d'un autre côté diminuent la taille du programme.

Ainsi une boucle For de 10000 cycles ne met plus 45 millisecondes mais plutôt 35 millisecondes. Je trouve le gain assez important. A savoir que toutes les instructions sont un peu plus rapide.
Pour l'instant je dépasse facilement GFA-Basic sur Atari ST au niveau de la boucle For et sur bien d'autres choses mais il faut par contre que j'optimise le transtypage et quelques opérations mathématiques de bases où là je suis un tout petit peu plus lent.

GFA-TEM fait 30 Ko environ mais avec plus de 50 fonctions.
-Edité le Jeudi 14 avril 2005 à 01:51 par geogeo-
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°140   Marquer comme non lu.
FpgForce Ecrit le: Jeudi 14 avril 2005 à 09:35 Déconnecté(e)    Voir le profil de FpgForce Envoyer un email à FpgForce Envoyer un message privé à FpgForce  

#top# geogeo
    
./Post n°141   Marquer comme non lu.
Vertyos Ecrit le: Samedi 30 avril 2005 à 02:02 Déconnecté(e)    Voir le profil de Vertyos Envoyer un email à Vertyos Visiter le site WEB de Vertyos Envoyer un message privé à Vertyos  

yop,

j'ai pas lu tout le topic (trop long), mais est-ce qu'il y a des tests comparatifs entre Ti-Basic et GFA sur des trucs utiles (autre chose qu'une boucle for vide en gros, puisque je ne pense pas que ça ait des chances d'exister dans un quelconque programme un jour).

hmm par exemple, pour des petits programmes style factorielle(n) et autres, GFA est combien de fois plus rapide que le basic ? (avec et sans optimisations propres à GFA)
Membre de [ yAronet ] ^^
(et de [ 3l33t ] aussi, mais chut, coté obscur toussa...)
    
./Post n°142   Marquer comme non lu.
geogeo Ecrit le: Samedi 30 avril 2005 à 12:49 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Présente un programme et je compare.

Pour un programme type factorielle si tu veux (mais perso je trouve que ce n'est pas très représentatif):

En GFA-Basic sans optimisations

Cls
Input "Factorielle de ";Value
T%=Timer
Result=1
For I%=0 To Value-1
  Result=Result*(Value-I%)
Next
Print (Timer-T%)/200
Print "Resultat:"'Result
Repeat
until RR_ESC



En GFA-Basic avec optimisations

Cls
Input "Factorielle de ";Value%
T%=Timer
Result=1
For I%=Value Downto 2
  Mul Result,I%
Next
Print (Timer-T%)/200
Print "Resultat:"'Result
Repeat
until RR_ESC



En TI-Basic (je pense de façon optimale)

fact(n)
Prgm
Local i,n
1->result
For i,n,2,-1
  result*i->result
EndFor
EndPrgm


Je n'affiche pas le résultat car ça bouffe trop de temps à cause d'une différence de représentation entre GFA et le TI-Basic d'où pour moi ce programme n'est pas un bon exemple!

Alors je ne peux faire des tests qu'avec le nombre 250 au delà le TI-Basic ne suis plus:
TI-Basic: 4,5 secondes.
GFA-Basic non optimisé: 0.295 secondes.
GFA-Basic optimisé: 0.205 secondes.

Ici en optimisant on arrive à un gain de 70% (1,5x plus rapide).
Au total GFA-Basic est entre 15,25x et 22x plus rapide que le TI-Basic.

Mais encore une fois ici on travail en flottants (fonctions du TIOS), de plus le TI-Basic n'a pas la même représentation que le GFA-Basic lorsque les nombres sont très grands. Il faut des programmes plus concrets.

-Edité le Samedi 30 avril 2005 à 12:54 par geogeo-
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°143   Marquer comme non lu.
limmt Ecrit le: Samedi 30 avril 2005 à 16:35 Déconnecté(e)    Voir le profil de limmt Envoyer un email à limmt Visiter le site WEB de limmt Envoyer un message privé à limmt  


Tu est essayé avec n! pour la fatorielleen basic? #gni#
http://www.falco-fr.com/ - http://www.jump67.com/ - http://www.msf-league.com/
    
./Post n°144   Marquer comme non lu.
geogeo Ecrit le: Samedi 30 avril 2005 à 16:38 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Euh moi je compare du TI-Basic au GFA-Basic et non les fonctions du TIOS programmées en C mal optimisé. Mais si tu veux savoir 250! sur ma TI ça donne 3,80 secondes sans compter l'affichage bien sûr.
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°145   Marquer comme non lu.
Vertyos Ecrit le: Samedi 30 avril 2005 à 17:37 Déconnecté(e)    Voir le profil de Vertyos Envoyer un email à Vertyos Visiter le site WEB de Vertyos Envoyer un message privé à Vertyos  

hmm ça va c'est quand même pas mal plus rapide, mettons environ 20x. En GFA les nombres ont une précision arbitraire, ou bien ce sont des longs/short/autre taille bornée ?
Membre de [ yAronet ] ^^
(et de [ 3l33t ] aussi, mais chut, coté obscur toussa...)
    
./Post n°146   Marquer comme non lu.
Kevin Kofler Ecrit le: Samedi 30 avril 2005 à 17:51 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  


Tu ne peux pas comparer des entiers en précision arbitraire avec des flottants! Et encore moins avec des entiers à précision limitée! Compare n! en APPROX avec une factorielle GFA en float. Sinon, tu compares des pommes et des oranges, comme on dit en anglais. ;)
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°147   Marquer comme non lu.
Vertyos Ecrit le: Samedi 30 avril 2005 à 18:18 Déconnecté(e)    Voir le profil de Vertyos Envoyer un email à Vertyos Visiter le site WEB de Vertyos Envoyer un message privé à Vertyos  

Ah ok ça répond à ma question. Il n'y a pas de type de donnée qui gère les nombres en précision arbitraire, en GFA basic ? (sans ça je vois mal comment calculer 250!, en effet)
Membre de [ yAronet ] ^^
(et de [ 3l33t ] aussi, mais chut, coté obscur toussa...)
    
./Post n°148   Marquer comme non lu.
geogeo Ecrit le: Samedi 30 avril 2005 à 19:01 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Euh en APPROX c'est encore pire, le TI-Basic met 5,50 secondes. %)
Et la fonction du TIOS ne met plus que 1.5 secondes environ (mais bon c'est du C et ça n'est pas comparable!).

En GFA-Basic il n'y a pas de précision arbitraire pour les entiers sauf si tu utilises le TI-Basic mais comme je l'ai déjà dit GFA-Basic n'est pas un langage pour faire du calcul formel.
Ensuite l'exemple de factorielle n'est pas un bon exemple car on arrive encore dans le domaine du calcul formel avec maitrise de nombres en flottant...
J'ai déjà fait des programmes d'exemples qui datent maintenant avec le triangle de sierpins, dessin d'un cercle... qui donnaient des résultats supérieurs à 30x plus rapide que le TI-Basic.


-Edité le Samedi 30 avril 2005 à 19:03 par geogeo-
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°149   Marquer comme non lu.
Vertyos Ecrit le: Samedi 30 avril 2005 à 20:40 Déconnecté(e)    Voir le profil de Vertyos Envoyer un email à Vertyos Visiter le site WEB de Vertyos Envoyer un message privé à Vertyos  

geogeo :
Euh en APPROX c'est encore pire, le TI-Basic met 5,50 secondes. %)

Hmm j'ai pas compté, mais à vue de nez ça va bien plus vite qu'en mode exact, et ça m'a bien l'air d'être inferieur à 1 seconde pour calculer+afficher 250! #confus#

En fait ttes ces questions c'est surtout pour comparer ac un truc à moi (pas optimisé, et qui fonctionne ac précision arbitraire), je voulais me faire une idée par rapport au Ti-Basic (qui l'est) et par rapport à GFA (qui ne l'est pas) :)
Membre de [ yAronet ] ^^
(et de [ 3l33t ] aussi, mais chut, coté obscur toussa...)
    
./Post n°150   Marquer comme non lu.
geogeo Ecrit le: Samedi 30 avril 2005 à 20:56 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Hmm j'ai pas compté, mais à vue de nez ça va bien plus vite qu'en mode exact, et ça m'a bien l'air d'être inferieur à 1 seconde pour calculer+afficher 250!


Tests et tu verras bien, c'est plus lent. %)

Ton truc met combien de temps? Si tu veux comparer avec GFA-Basic faut des programmes plus interessants.
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°151   Marquer comme non lu.
Vertyos Ecrit le: Dimanche 1er mai 2005 à 01:04 Déconnecté(e)    Voir le profil de Vertyos Envoyer un email à Vertyos Visiter le site WEB de Vertyos Envoyer un message privé à Vertyos  

Hmm je sais pas, entre 2 et 4 fois plus rapide que le Ti-Basic, mais y'a beaucoup de programmes où la comparaison n'est pas possible. Par exemple pour cette factorielle, quand tu multiplies deux operandes, tu utilises la multiplication du proc, tandis que j'utilise une fonction qui multiplie deux nombres de taille quelconque. Autant dire que sur les perfs, ça se ressent (~95% du temps processeur utilisé pour les calculs) :D

Par contre du coup, le résultat est exact. Ça pourrait être interessant de comparer mais faudrait trouver les exemples, et sachant que j'ai pas encore un truc très développé, y'a pas encore bcp de possibilités ^^
Membre de [ yAronet ] ^^
(et de [ 3l33t ] aussi, mais chut, coté obscur toussa...)
    
./Post n°152   Marquer comme non lu.
Invité Ecrit le: Dimanche 1er mai 2005 à 10:24 Déconnecté(e)    
 
Heu... 250! : 1 seconde pour le calculer et l'afficher.
3.323285626091E492
    
  :: Index » GFA-Basic TI68K » News » Rapport de performances (181 réponse(s))
Pages : 8/10     « 1 2 3 4 5 6 7 [8] 9 10 » »|

.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 180.21ms avec 19 requetes