JeuWeb - Crée ton jeu par navigateur
Rapidité d'execution des oppérations en PHP? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Rapidité d'execution des oppérations en PHP? (/showthread.php?tid=3436)

Pages : 1 2


Rapidité d'execution des oppérations en PHP? - Argorate - 25-10-2010

Bonsoir,

je voulais savoir, par curiosité, si quelqu'un sait où trouver une classification des oppérations de bases en PHP ( ==, !=, <, <=, >, >= ) en fonction de leur rapiditer d'execution?

Exemple:

si vous savait qu'une fonction retour un nombre positif si c'est ok, et -1 sinon, l'instruction
$toto != -1 est elle plus rapide que $toto > 0 ?


RE: Rapidité d'execution des oppérations en PHP? - srm - 25-10-2010

Il suffit de benchmarker Wink
Mais au feeling je dirais que != est plus rapide que >


RE: Rapidité d'execution des oppérations en PHP? - christouphe - 25-10-2010

Déjà avant de benchmarker, il faut rester logique, enfin pour ta fonction:

$toto != -1 alors tout nombre entier différents de -1 sera solution, ie: -4

$toto > 0 alors tout nombre positif sera solution.

Que veux-tu exactement avant de faire de l'optimisation ?


RE: Rapidité d'execution des oppérations en PHP? - Myrina - 25-10-2010

Si on se penche du coté du langage d'assemblage (x86 en l'occurrence), une condition n'est qu'un flag positionné ou pas dans un registre du processeur; faire != ou >, c'est simplement tester un flag différent.
Donc pour moi, le temps d'exécution ne devrait pas différer d'une comparaison à l'autre.


PS: il n'est pas facile de trouver sur le net de la documentation la-dessus intégrant les cycles d'horloge que prend chaque instruction d'assemblage (http://home.comcast.net/~fbui/intel_j.html#jxx)


RE: Rapidité d'execution des oppérations en PHP? - Anthor - 25-10-2010

Vu le peu de différence en Nanosecondes qu'il doit y avoir, je répondrais, mais alors vraiment pour te faire plaisirs, que la rapidité dépend de la priorité de l'opérateur.
La liste se trouve dans la doc.


RE: Rapidité d'execution des oppérations en PHP? - Sephi-Chan - 25-10-2010

Le problème des systèmes d'informations, c'est le temps d'accès aux données, pas le temps de calcul du processeur.
Cf. http://duartes.org/gustavo/blog/post/what-your-computer-does-while-you-wait


Sephi-Chan


RE: Rapidité d'execution des oppérations en PHP? - Myrina - 25-10-2010

(25-10-2010, 10:33 AM)Sephi-Chan a écrit : Le problème des systèmes d'informations, c'est le temps d'accès aux données, pas le temps de calcul du processeur.
Cf. http://duartes.org/gustavo/blog/post/what-your-computer-does-while-you-wait


Sephi-Chan

Tout à fait, mais dans son exemple, comme il compare les mêmes données, le temps d'accès aux données sera le même également.


RE: Rapidité d'execution des oppérations en PHP? - NicoMSEvent - 25-10-2010

la ou tu va gagner du temps, c'est dans la clarté de ton code.

Je m'explique :
Il vaut mieux ecrire

a==b AND c==d
ou
NOT(a!=b OR c!=d)

(application loi de bool et table de vérité)

Pour moi, même si une des deux solution est légèrement plus lente, ça n'a pas d'importance. Le principal est de pouvoir rapidement te relire et (re)comprendre ton code. C'est là que tu vas réellement gagner du temps.


RE: Rapidité d'execution des oppérations en PHP? - Ter Rowan - 25-10-2010

(25-10-2010, 11:15 AM)NicoMSEvent a écrit : Pour moi, même si une des deux solution est légèrement plus lente, ça n'a pas d'importance. Le principal est de pouvoir rapidement te relire et (re)comprendre ton code. C'est là que tu vas réellement gagner du temps.

pareil, ce n'est pas sur cette opération unitaire que tu gagneras du temps

Eventuellement sur l'algorithme (exemple bateau : assigner n fois une valeur dans une boucle au lieu de la définir avant, si elle ne change pas dans la boucle bien sur)


RE: Rapidité d'execution des oppérations en PHP? - Argorate - 25-10-2010

En fait, le but n'a jamais été de "gagner du temps". Mon exemple été pris au pif, c'était pour illustré mes propos. Je voulez juste savoir fondamentalement quel oppération été plus rapide à traiter pour un processeur. (je trouve ça interessant)

Car meme si chaque oppération corespond a un "flag" différent, le calcul que doit ensuite faire le proc. une fois qu'il a identifier l'oppération en question, ne doit pas etre de la meme rapidité...

Anthor : dans la doc : http://www.php.net/manual/fr/language.operators.php
Moi je vois la liste, mais pas de colone "temps d'exec". une idée? Smile