interpreteur, comparaison bytecoce-p-code

Sujets variés concernant le développement en PureBasic
Anonyme

Message par Anonyme »

C'est des usines à gaz vos codes ! :D
interprété des bytes est bien plus rapide !
je prouverais le contraire bientôt :D

Tiens , petit challenge , celui qui fera le langage interprété le plus rapide :D
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

Message par cha0s »

c'est vrai optimisation a retenir ^^'. mais pour le deuxième exemple c'est synchronisé avec le framerate, shoothemup oblige donc les perfs c'est pas super important.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Cpl.Bator a écrit :C'est des usines à gaz vos codes ! :D
oui , moi mon logo a pour but de voir la tortue dessiner , faut pas non plus que ce soit trop rapide !!

de plus j'ai un mode rapide integré, ou je me contente de ne pas afficher
la progression de la tortue a chaque tour de boucle !!

de plus ta proposition de faire un interpréteur le plus rapide

soit , mais plus rapide pour faire quoi ??

puregolo est une forme de logo
qui comprends la gestion de

If, else imbriqués (niveau infini d'imbrication)
while imbriqués (niveau infini d'imbrication)
repete (comparable a un for-next) imbriqué (niveau infini d'imbrication)

gestion de variables, (le nom des variables est choisi par l'utilisateur donc libre ..) , gestion de local dans les procedures

les procédures imbriqué a l'infini , gestion des appel récursif compris !!

plus tout un tas de commandes relatif a mon langage et a mes Tortues
(puregolo est multi tortue )
comme la création d'animation a pleins de format different (merci Nico)

pour moi la vitesse a une importance intellectuel, car pas essentiel pour mon logo !

par contre je pense proposer , maintenant un langage qui tiens vraiment la route !

apres on peut jouer a celui qui a la plus longue , mais ça ne va rien m'apporter de plus!!

par contre pour ma part, je privilégie l'utilisation, le confort de l'utilisateur
la simplicité d'utilisation, bref l'ergonomie

alors fait un interpréteur qui répond a ce que mon logo fait
et ce sera deja pas mal , crois moi ! :)

pour l'instant je n'ai vu aucun projet en purebasic qui reponds a ces criteres

je veux dire , qui propose des variables au gout de l'utilisateur
de la récursivité, des boucles imbricables, des conditions imbricables a volonté , etc ... bref ce que fait PureGolo :D


alors apres tu peux dire que c'est une usine a gaz , mais bon les gens
qui l'utilisent , ne vois pas le moteur ;)

ps : pour info puregolo fait 8726 lignes en comptant les lignes vides
et le code de la gestion midi , qui n'es pas activé mais qui est présent depuis le debut !!


ça fait pas tant que ça , quand on y regarde de plus pres !! :D

toutefois ton histoire de bytecode, va m'être utile, car je continue de dire
que cela devrai être possible a mettre dans mon interpréteur

de toute façon mon code demande a être optimisé, déjà , mais je sais deja que je peux vraiment gagner en modifiant peut de choses :)
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Message par flaith »

Cpl.Bator a écrit :C'est des usines à gaz vos codes ! :D
interprété des bytes est bien plus rapide !
je prouverais le contraire bientôt :D

Tiens , petit challenge , celui qui fera le langage interprété le plus rapide :D
genre Brainfuck :wink:
Anonyme

Message par Anonyme »

alors fait un interpréteur qui répond a ce que mon logo fait
et ce sera deja pas mal , crois moi ! Smile

pour l'instant je n'ai vu aucun projet en purebasic qui reponds a ces criteres
si si , j'ai déjà fait se genre de chose. :D
j'avais repris la syntaxe PB , on pouvait même importé les fonctions d'une dll ! :D Bon, purestorage est mort , il était dessus. ( déjà paru dans un post ici , topic de typhoon il me semble )


soit , mais plus rapide pour faire quoi ??
Bah , j'avais pensé à le faire intéragir avec une source PB , pourquoi pas ?
tu passe en paramètres des variables , structure , pointeur.
ton script les modifies , ta un résultat à l'écran. plus de calcul "hard codé" dans l'exe.

Qu'est ce que tu en pense ? partant ? :D
cha0s
Messages : 681
Inscription : sam. 05/mars/2005 16:09

Message par cha0s »

Code : Tout sélectionner

IncludeFile "../Debug/debug.pb"
#debug=1
IncludeFile "../Array.pb"
IncludeFile "sources/declaration.pb"
IncludeFile "sources/variable.class.pb"
IncludeFile "sources/function.class.pb"
IncludeFile "sources/Chaos.class.pb"
IncludeFile "sources/calcul.pb"

*Chaos.Chaos = InitChaos()



*test3 = NewOperation(*Chaos, "1+1")

t = ElapsedMilliseconds()
For n = 1 To 100000
a = ExecuteOperation(*test3)
Next n
Debug ElapsedMilliseconds() - t


t = ElapsedMilliseconds()
For n = 1 To 100000
a = 1+1
Next n
Debug ElapsedMilliseconds() - t

résultat du débugeur
375
16
sa pourrait être pire non ? surtout que a = 1+1 est surement optimisé par le compilo. (avec gcc en tout cas sa doit l'être).
(au passage j'ai remarqué que j'utilisai déjà un byte puis le type d'opération xD)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Cpl.Bator a écrit :
Qu'est ce que tu en pense ? partant ? :D
ben pas vraiment, mes journées sont deja trop courtes :D
Répondre