JS gevorderde |
|
Qua code kan je onwijs veel optimalizeren, het zijn dan ook tijdrovende bezigheden. hieronder heb ik wat simpele technieken die je kan toepassen. Verder zou je kunnen denken aan de Big-O te gebruiken alhoewel dit misschien wat ver gaat binnen PHP is dit in Cpp, Java(etc.) een veel gebruikte techniek om code te optimalizeren. Helaas proef ik vaak in de 'PHP wereld' -> als het werkt, werkt het..
In ieder geval hier wat dingen om code te optimaliseren :
Loops omdraaien
Inplaats van dat je bijvoorbeeld in For loops alles increment gebruik je decrement. Dus :
for ($i = 0; $i < $la; $i++)
## inplaats hiervan gebruik je
for ($i = $la; $i > 0; $i--)
for ($i = 0; $i < $la; $i++) ## inplaats hiervan gebruik je for ($i = $la; $i > 0; $i--)
De Control statement is hier $la, in het 2de voorbeeld is het echter 0. Een constante value als 0 is altijd sneller in een vergelijking dan een variabel.
Switch ipv If
Als je meer dan 1 elseif gebruikt is het wijselijk om een switch statement te gebruiken. Verder is het beter om Integers te gebruiken in Case statement(Dit geldt in het algemeen voor alle vergelijkingen..) dan een string dus :
switch($i){
case 0:
// iets
break;
case 1:
// iets
break;
case 2:
// iets
break;
}
switch($i){ case 0: // iets break; case 1: // iets break; case 2: // iets break; }
Gebruik list()
Wanneer je meerdere variabelen definiëerd in het begin van 'n functie/class/file is het verstandig om list te gebruiken dus :
# niet zo :
$i = 0;
$l = 4;
$s = 'oki';
#maar :
list($i, $l, $s)=array(0, 4, 'oki');
# niet zo : $i = 0; $l = 4; $s = 'oki'; #maar :
Dit principe kent vele toepassingsgebieden in in het algemeen geldt : "1 statement is beter dan 2" dus dit zou ook beter zijn
$i++;
$arr[ $i ];
#maar :
$arr[ $i++ ];
$i++; $arr[ $i ]; #maar : $arr[ $i++ ];
etc..
Scopes
Als je gebruik maakt van classes en functies is het belangrijk dat je de juiste scopes gebruik dus definieer geen vars in een class die je alleen in een enkele functie gebruikt. Goed gebruik maken van private, public && protected kan hierin ook een grote rol spelen.
PHP functies
Gebruik php functies in plaats van eigen code dus:
if($arr[0] != 0)
#zal altijd langzamer zijn dan
if(IS_ARRAY($arr))
if($arr[0] != 0) #zal altijd langzamer zijn dan
Er zijn nog vele andere manieren om je code te optimalizeren, misschien dat ik binnenkort hier over wel een tutje ga schrijven en post, maar voor het moment heb ik het vrij druk
Verder als je plaatjes en files(js/css) en dergelijke gaat optimaliseren moet je het getal 1160(of minder) in gedachten houden dit is namelijk de grote van één TCP/IP packet
(Big O)Links :
http://en.wikipedia.org/wiki/Big_o_notation
http://big_o_notation.iqexpand.com/
|