EDIT :: oh j'oubliéLa méthode statique est-elle plus rapide que non statique?
class Test1{
public static function test(){
for($i=0; $i<=1000; $i++)
$j += $i;
}
}
class Test2{
public function test() {
for ($i=0; $i<=1000; $i++){
$j += $i;
}
}
}
pour cet algorithme
$time_start = microtime();
$test1 = new Test2();
for($i=0; $i<=100;$i++)
$test1->test();
$time_end = microtime();
$time1 = $time_end - $time_start;
$time_start = microtime();
for($i=0; $i<=100;$i++)
Test1::test();
$time_end = microtime();
$time2 = $time_end - $time_start;
$time = $time1 - $time2;
echo "Difference: $time";
i ont des résultats
Difference: 0.007561
et ces jours-ci, je suis en train de faire mes méthodes statiques que possible. Mais est-ce vraiment vrai, .. au moins pour php
La question que vous devriez vous poser: La différence de vitesse vous cause-t-elle des problèmes? Si non, ne vous inquiétez pas à ce sujet. –
ne sait pas .. mais si les méthodes statiques sont faciles à appeler et je l'utilise beaucoup. J'ai eu une présomption que la méthode statique serait lente que régulière, mais mes résultats montrent statique sont plus rapides. Je voulais juste confirmer (pour les connaissances disons) –
Complete idem. Commencez par le faire fonctionner. Il ressort clairement de votre test simple que ce n'est probablement pas une différence d'ordre de grandeur significative, alors concentrez-vous sur les fonctionnalités et vous inquiétez des optimisations de niveau milliseconde si elles deviennent populaires. Cependant, au moment où vous arrivez à ce niveau, vous avez probablement re-factorisé le tout plusieurs fois ... – Hamy