[ veljovic @ 12.08.2004. 18:14 ] @
| skript isgleda otprilike ovako:
Code:
if ($a>5)
{
$c=$a;
echo "$c";
}
else
{
.........................
..........................
...........................
}
recimo da je vrednost cesto manja od 5 ali da se desi nekada da je suprotno.
e sada koliko procesor trosi vremena na obradu skripta ako je $a<5.
znaci nema potrebu da ide u else ali me interesuje dali se ceo
skript iscitava bez obzira sto nema potrebe da se ceo izvrsi.
napominjem da se u else moze naci veliki broj linija koda !
imam ideju da posle echo "$c"; u if ubacim exit()
ali ne znam dali se cita ceo skript pa mu to onda i nebi mnogo pomoglo.
interesuje me sta neko, ko je iskusniji, misli o ovome ?
// napomena: nemoj da koristiš [red], naročito za kod. imaš [code] i [tt] za to!
[Ovu poruku je menjao -zombie- dana 13.08.2004. u 19:56 GMT] |
[ Gojko Vujovic @ 12.08.2004. 22:36 ] @
Je l ti to radiš neko realtime programiranje u phpu pa ti je bitan svaki procesorski ciklus?
Ovo što spominješ nema nikakvog uticaja na performanse. Barem ne nekog koji možeš izmeriti regularnim alatima, ili koji može napraviti neku značajnu razliku u brzini izvršavanja.
Da li si ti primetio neko usporenje i možemo li videti rezultate merenja u tom slučaju?
Mnoge druge stvari mogu biti bottleneck i mislim da si daleko od situacije da ti jedno if odlučivanje pravi problem. PHP strašno brzo parsira kod, a jedan exit ranije neće sprečiti renderovanje ostatka fajla koje se dešava pri njegovom prvom učitavanju.
[ -zombie- @ 13.08.2004. 18:04 ] @
php troši relativno puno vremena na parsiranje i "kompajliranje" izvornog koda, pa čak ako skripta ne pristupa bazi ili nekim fajlovima na disku, ima šanse da je parsiranje veći overhead nego samo izvršavanje (mada, šta bi takva skripta radila? ;).
tako da jedno exit() bilo gde u kodu ne bi pomoglo, jer php ipak mora da parsira/kompajlira taj deo koda (a kompajliranje se radi dok se još ne zna da li je taj uslov ispunjen)
a ako pričamo baš o mnogo linija (više od par stotina/hiljada recimo), i o veoma zauzetom serveru (više od par hiljada zahteva u minuti), izdvajanje tog koda u poseban fajl, pa include()ovanje unutar uslova ostaje kao jedino rešenje za ovo..
sa druge strane, vrlo malo je verovatno da će tebi to zatrebati, jer čim skripta treba da radi nešto sa bazom, fajlovima na disku, ili ne-daj-bože mrežnim I/O, sve ovo postaje mnogo manje bitno.. ;)
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.