GTAOnline.fr
Accueil Home
Aide  AideRechercher  RechercheCalendrier  Calendrier
Bienvenue, Invité.
Veuillez vous connecter ou vous inscrire.

Vous pourrez :
poster,
demandez de l'aide,
avoir un compte à vous,
bénéficier des nos services
et plus!
Avez-vous perdu votre courriel d'activation?

Votre nom : - Votre mot de passe :



Rechercher:     avancée
*
+  GTAOnline.fr
|-+  San Andreas Multiplayer
| |-+  Scripting SA-MP [Pawn center] (Modérateur: Sim)
| | |-+  Rapidité d'un public
Pages: [1] Bas de page
Fil de discussion: Rapidité d'un public  (Lu 126 fois) Imprimer
scott1
Position: GTAOnline Addict
*******

Hors ligne Hors ligne

Messages: 1099

Haut de page
Bonjour a tous, j'aimerais savoir lequel de ces 2 public est le plus rapide a s'exécuter.

Code:
public IsAPizzabike(carid)
{
if(carid >= 102 && carid <= 107)
{
return 1;
}
return 0;
}

Code:
public IsAPizzabike(carid)
{
new pveh = GetVehicleModel(carid);
if(pveh == 448)
{
return 1;
}
return 0;
}

Merci d'avance
-------------------------------
 IP: [ Journalisée ]
FuSion

Pawn coder
Group: Team G.M.C
Position: GTAOnline Big Member
*

Hors ligne Hors ligne

Messages: 533

for(new i = 0; i < INFINI; i++)



Haut de page
Je pense que le premier s'exutera plus vite que le deuxième mais quel importance, ils sont executés en quelques miliemes de secondes.
-------------------------------
 IP: [ Journalisée ] WWW
Sim

Group: Modérateur
Position: GTAOnline Fan Boy
*

Hors ligne Hors ligne

Messages: 1661

Haut de page
Salut,

s'ils sont exécutés en quelques millisecondes c'est que ton serveur est en carton, normalement tu devrais pouvoir exécuté au minimum une centaine de fois par milliseconde....

cherche benchmark dans rechercher et tu trouvera des macro de test de fonctions (indice: ça se trouve dans Codes/scripts utiles)

++Sim++
-------------------------------
 IP: [ Journalisée ]
Syg

Expert programmeur C/C++/PAWN
Group: Administrateur
Position: GTAOnline Legend
*

Hors ligne Hors ligne

Messages: 3344

The GTAOnline Jesus

Haut de page
La deuxième fonction est moins rapide car elle contient un appel à une fonction.
C'est donc la première qui sera plus rapide.
Mais la différence est très certainement non quantifiable.

D'après mes tests, il faut environs 100 ms pour exécuter 1 000 000 de fois la première fonction et 120 ms pour exécuter la seconde.
(Machine utilisée : Intel core 2 Duo 2.33 Ghz avec 2Go de mémoire)
Le différence d'exécution entre ces deux fonction est de 20/1 000 000 000 s (20 milliardièmes de seconde) en faveur de la première

Le seul problème avec le première c'est que comme elle se base sur l'ID d'un véhicule, il faut faire très attention lorsqu'on en rajoute ou qu'on en enlève sinon on risque de tout décalé.
De plus, cette fonction devra être modifiée si on rajoute ou enlève des PizzaBoys.

Et comme la différence de temps d'exécution est infime, je te conseille de prendre la deuxième fonction qui fonctionne dans tous les cas, peu importe l'ordre dans lequel sont crées les véhicules.

++
Syg
-------------------------------
Courtesy of GtaManiac
 IP: [ Journalisée ]
sasuke78200

Position: GTAOnline Fan Boy
********

Hors ligne Hors ligne

Messages: 1985

GTAOnline Big Geek || Scripter && Programmeur ^^



sasuke78200

Haut de page
Voila la seconde fonction, qui est un tout petit peu améliorer =)

Code:
public IsAPizzabike(carid)
{
if(GetVehicleModel(carid) == 448)
{
return 1;
}
return 0;
}
-------------------------------

 IP: [ Journalisée ]
Sim

Group: Modérateur
Position: GTAOnline Fan Boy
*

Hors ligne Hors ligne

Messages: 1661

Haut de page
Salut,

on peut faire légèrement mieux mais moins lisible:

Code:
public IsAPizzabike(carid)
{
return (GetVehicleModel(carid) == 448);
}

je ne vois pas comment réduire d'avantage....

++Sim++
-------------------------------
 IP: [ Journalisée ]
sasuke78200

Position: GTAOnline Fan Boy
********

Hors ligne Hors ligne

Messages: 1985

GTAOnline Big Geek || Scripter && Programmeur ^^



sasuke78200

Haut de page
Salut,

on peut faire légèrement mieux mais moins lisible:

Code:
public IsAPizzabike(carid)
{
return (GetVehicleModel(carid) == 448);
}

je ne vois pas comment réduire d'avantage....

++Sim++

Bof ...

ça fonctionne mais ça renvoie des boolean (ça revient à la même chose mais si le gars veut qu'on retourne des nombres, vaut mieux faire des return 1 ou 0 ^^ )
-------------------------------

 IP: [ Journalisée ]
FuSion

Pawn coder
Group: Team G.M.C
Position: GTAOnline Big Member
*

Hors ligne Hors ligne

Messages: 533

for(new i = 0; i < INFINI; i++)



Haut de page
s'ils sont exécutés en quelques millisecondes c'est que ton serveur est en carton, normalement tu devrais pouvoir exécuté au minimum une centaine de fois par milliseconde....

Quand je disais ça c'est que c'est infiniment petit le labs de temps dans lequel s'exécute l'action et que j'avais pas les mots a utiliser  Tire la langue
-------------------------------
 IP: [ Journalisée ] WWW
scott1
Position: GTAOnline Addict
*******

Hors ligne Hors ligne

Messages: 1099

Haut de page
Merci tout le monde  ! ça m'a bien aidé
-------------------------------
 IP: [ Journalisée ]
0 Membres et 1 Invité sur ce fil de discussion.
« sujet précédent | | sujet suivant »
Imprimer
Pages: [1] Haut de page  
« sujet précédent | | sujet suivant »
Aller à:  

Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 Transitionnel valide ! CSS valide !
Theme © Copyright by Electron Inc
Page générée en 0.134 secondes avec 23 requêtes.