AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Google Pixel 7 5G – Smartphone 6,3″ OLED FHD+ 8 Go + 128 Go
316 €
Voir le deal

 

 Comparer les performances de 2 scripts gml

Aller en bas 
+2
Caly
onilink_
6 participants
AuteurMessage
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Comparer les performances de 2 scripts gml Empty
MessageSujet: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptyDim 30 Oct 2011 - 16:30

Voici une méthode pour comparer les performances de 2 bouts de code.
Utile quand on doit faire un bout de code optimisé (par exemple dans une double loop for)

Code:
ts = current_time

for(i=0; i<500000; i+=1)
{
    <code1>
}

t1 = current_time - ts
ts = current_time

for(i=0; i<500000; i+=1)
{
    <code2>
}
   
t2 = current_time - ts

show_error("t1 = " + string(t1) + " - t2 = " + string(t2), 0)

Exemple :
Comparaison de :
Code:
if(x<0) x=0
et
Code:
x = max(x, 0)

Code:
ts = current_time

for(i=0; i<500000; i+=1)
    if(x<0) x=0

t1 = current_time - ts
ts = current_time

for(i=0; i<500000; i+=1)
    x = max(x, 0)
   
t2 = current_time - ts

show_error("t1 = " + string(t1) + " - t2 = " + string(t2), 0)

Et on remarque qu'utiliser un if est 2x plus rapide.

_________________
Comparer les performances de 2 scripts gml Runningpotato1Comparer les performances de 2 scripts gml TvF6GED Comparer les performances de 2 scripts gml MdetltS
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptyDim 30 Oct 2011 - 20:26

Code:
place_meeting(mouse_x,mouse_y,self);
est plus rapide que
Code:
position_meeting(mouse_x,mouse_y,self);
Revenir en haut Aller en bas
Qual
Utilisateur confirmé: Rang ****
Qual


Messages : 1450
Projet Actuel : Tower Defence

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptyDim 30 Oct 2011 - 23:25

Code:
if abla = true && mouse_check_button_pressed ( mb_left )
abla = false

if abla =false && mouse_check_button_pressed ( mb_left )
abla = true


est plus lent que :

Citation :
if mouse_check_button_pressed(mb_left)
abla = !abla

Qui c'est le boss ? guns

_________________
Comparer les performances de 2 scripts gml Icone_114
Revenir en haut Aller en bas
http://www.brainwizz.fr
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptyDim 30 Oct 2011 - 23:32

Petit joueur guns
Code:
abla = abla ^ mouse_check_button_pressed(mb_left)
voir même
Code:
abla ^= mouse_check_button_pressed(mb_left)

_________________
Comparer les performances de 2 scripts gml Runningpotato1Comparer les performances de 2 scripts gml TvF6GED Comparer les performances de 2 scripts gml MdetltS
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptyVen 4 Nov 2011 - 10:40

t1:
Code:
execute_string("");

t2:
Code:
object_event_add(object_index,ev_draw,0,"");
object_event_clear(object_index,ev_draw,0);


Citation :
t1 = 1812 - t2 = 15641
t1 = 1797 - t2 = 15625
t1 = 1813 - t2 = 15578
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptyVen 4 Nov 2011 - 10:42

De toute façon ces fonctions cay le mal :p

_________________
Comparer les performances de 2 scripts gml Runningpotato1Comparer les performances de 2 scripts gml TvF6GED Comparer les performances de 2 scripts gml MdetltS
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptyVen 4 Nov 2011 - 11:06

Ouai mais j'en ai besoin sauf si tu as une alternative pour attribuer des instructions à une instance. C'est vrais que le temps de réponse fait réfléchir :s
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptyVen 4 Nov 2011 - 12:04

En principe on peut toujours contourner.
Pis moi si je bannis c'est fonctions c'est parce que c'est utilisable only GM. (et oui aussi parce que c'est un peu mou)

Perso la plupart du temps j'utilise un switch case pour remplacer, mais après ça dépend du contexte :p

_________________
Comparer les performances de 2 scripts gml Runningpotato1Comparer les performances de 2 scripts gml TvF6GED Comparer les performances de 2 scripts gml MdetltS
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptyVen 4 Nov 2011 - 14:55

et puis execute_string c'est une focntion d'un interpreteur, l'alternative la plus simpe c'est :
txt="draw_text -x 10 -y 10 -s 'texte a ecrire' "
if string_find_string(txt,"draw_text")//<- ché pa si el exits Razz
{
//tout se base la dessus
}
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Morwenn
Très bonne participation
Morwenn


Messages : 151
Projet Actuel : Icare

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptyVen 4 Nov 2011 - 15:38

En général, même plutôt que d'utiliser des switch, dans pas mal de cas, on peut se débrouiller avec des tableaux et des constantes afin d'avoir malgré tout un code lisible.
Mais bon, je ne sais pas vraiment si les tableaux GM sont rapides ou non (je dirais non ? awesome )

_________________
Comparer les performances de 2 scripts gml 37115040594310152086589335317875357842n
Dur Dabla, pour qui voudrait écouter un brin de metal celtique.
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptySam 28 Avr 2012 - 11:45

J'ai encore du mal à comprendre pourquoi mais voilà:

Code:
truc= global.machin;
truc2= global.machin2;
truc3= global.machin3;
truc4= global.machin4;
truc5= global.machin5;

est largement plus long que

Code:
truc= ds_map_find_value(global.machin,'1');
truc2= ds_map_find_value(global.machin,'2');
truc3= ds_map_find_value(global.machin,'3');
truc4= ds_map_find_value(global.machin,'4');
truc5= ds_map_find_value(global.machin,'5');
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptySam 28 Avr 2012 - 12:49

C'est vrai que la, c'est pas du tout logique x)
Plus long de combien a peu près en rapport ?

_________________
Comparer les performances de 2 scripts gml Runningpotato1Comparer les performances de 2 scripts gml TvF6GED Comparer les performances de 2 scripts gml MdetltS
Revenir en haut Aller en bas
SPLN
Utilisateur confirmé: Rang ***
SPLN


Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptySam 28 Avr 2012 - 15:58

Citation :
t1 = 1514 / t2 = 5865
Ce n'est pas plutôt l'inverse?
Spoiler:

A moins que ça soit moi qui n'est strictement rien compris :/
Ça fait quand même une énorme différence, en effet.

_________________
SP Lecteur Multimedia
I am an Comparer les performances de 2 scripts gml Gmq4 in the GM Quiz!
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptySam 28 Avr 2012 - 16:54

Ouai la comme ça ça me parait quand même plus logique x)

_________________
Comparer les performances de 2 scripts gml Runningpotato1Comparer les performances de 2 scripts gml TvF6GED Comparer les performances de 2 scripts gml MdetltS
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptySam 28 Avr 2012 - 18:10

Chez moi avec 9 attributions dextern call j'ai le résultat inverse. Je reteste ça quant je rentre.
Revenir en haut Aller en bas
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml EmptyDim 29 Avr 2012 - 11:31

Je confirme.


Code:
globalvar ___dll;
___dll=ds_map_create();

ds_map_add(___dll,'cpkOpen',external_define('cpk.dll',"OpenResource",dll_stdcall,ty_real,2,ty_string,ty_string));
external_call(ds_map_find_value(___dll,'cpkOpen'),argument0,argument1);

est plus rapide que :

Code:
global.cpkOpen=external_define('cpk.dll',"OpenResource",dll_stdcall,ty_real,2,ty_string,ty_string);
external_call(global.cpkOpen,argument0,argument1);

Sur 9 déclarations et 10 appels j'ai 50ms de différence.
Revenir en haut Aller en bas
Contenu sponsorisé





Comparer les performances de 2 scripts gml Empty
MessageSujet: Re: Comparer les performances de 2 scripts gml   Comparer les performances de 2 scripts gml Empty

Revenir en haut Aller en bas
 
Comparer les performances de 2 scripts gml
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Charny Scripts [Beaucoup de scripts]
» Comparer deux variables string
» Impossible de comparer des variables dans un draw ?
» Pack De Scripts
» scripts light

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Scripts GML-
Sauter vers: