Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
Connexion avec identifiant, mot de passe et durée de la session

 
avancée

250131 Messages dans 13853 Fils de discussion- par 6295 Membres - Dernier membre: Maxipower

08 Février 2012 à 02:43:47
GTAOnline.frSan Andreas MultiplayerScripting SA-MP [Pawn center] (Modérateurs: S!m, Ssk, Xartrick)Rapidité d'un public
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: Rapidité d'un public  (Lu 214 fois)
0 Membres et 1 Invité sur ce fil de discussion.
scott1
Hors ligne Hors ligne

GTAOnline Addict
*

Messages: 1469


« le: 11 Mars 2010 à 13:38:29 »

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
Journalisée

Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction
FuSion
Pawn coder
Hors ligne Hors ligne


GTAOnline Big Member
*

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

Messages: 532


WWW



« Répondre #1 le: 11 Mars 2010 à 13:45:04 »

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.
Journalisée

S!m
Hors ligne Hors ligne


Moderateur
GTAOnline Fan Boy
*

Messages: 2262


« Répondre #2 le: 11 Mars 2010 à 15:14:29 »

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++
Journalisée





Syg
Expert programmeur C/C++/PAWN
Hors ligne Hors ligne


Administrateur
GTAOnline Legend
*

The GTAOnline Jesus

Messages: 3767


« Répondre #3 le: 11 Mars 2010 à 17:09:06 »

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
Journalisée

Courtesy of GtaManiac
Ssk
Développeur d'Open SA-MP
Hors ligne Hors ligne


Moderateur
GTAOnline Legend
*

Open-SA-MP - Unlimited Experience

Messages: 3511


WWW



sasuke78200

« Répondre #4 le: 11 Mars 2010 à 17:56:45 »

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

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






Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog
S!m
Hors ligne Hors ligne


Moderateur
GTAOnline Fan Boy
*

Messages: 2262


« Répondre #5 le: 11 Mars 2010 à 19:27:05 »

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++
Journalisée





Ssk
Développeur d'Open SA-MP
Hors ligne Hors ligne


Moderateur
GTAOnline Legend
*

Open-SA-MP - Unlimited Experience

Messages: 3511


WWW



sasuke78200

« Répondre #6 le: 11 Mars 2010 à 19:32:36 »

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 ^^ )
Journalisée






Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog
FuSion
Pawn coder
Hors ligne Hors ligne


GTAOnline Big Member
*

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

Messages: 532


WWW



« Répondre #7 le: 11 Mars 2010 à 20:08:35 »

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
Journalisée

scott1
Hors ligne Hors ligne

GTAOnline Addict
*

Messages: 1469


« Répondre #8 le: 11 Mars 2010 à 22:05:48 »

Merci tout le monde  ! ça m'a bien aidé
Journalisée

Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction
Pages: [1]   Haut de page
Imprimer
Aller à:  

Theme créé par padexx et modifié par GTAOnline.fr
Page générée en 0.354 secondes avec 25 requêtes.
Forum GTAOnline.fr 2.0 | Design par : Lalu et GtaManiac
Merci a toute la communaute pour son support !
Copyright © 2004-2012 - GTAOnline.fr | GTAPro.com