Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Da li velike-'neiskoriscene' klase usporavaju izvrsenje osnovnog skripta?

PHP
  • 10 odgovora
  • 4.475 pregleda

Najnovija ↓

Da li velike-'neiskoriscene' klase usporavaju izvrsenje osnovnog skripta? 18.04.2007. u 21:25 · pre 238 meseci #1
Postovani

imam dilemu na koju bih zeleo da mi neko odgovori. Rec je o tome kada se putem include ili require metode stranica povezuje sa drugom stranicom koja u sebi ima jako puno funkcija (oko 20-30 i ta stranica je velicine oko 40kb). Interesuje me, sta se desava sa brzinom izvrsenja osnovne stranice, ako ona koristi samo dve-tri funkcije sa include/require stranice? Da li se ucitava svih 40kb podataka sa include stranice, i time se usporava izvrsenje, ili se ucitava samo 3-4 kilobajta include stranice koliko su "teske" te dve-tri funkcije koje se koriste?

Isto me interesuje, ako u include stranici imam jednu klasu (sa mnogo funkcija, koja je teska isto 40kb) da li se i u tom slucaju ona mora komplet ucitati (cime se uporava izvrsenje) ili se ucitavaju samo oni delovi koji su potrebni zaizvrsenmje...

Nadam se da ste me razumeli..

Svako dobro.
Potpis
Aukcije, www.Odbrojavanje.com
Aukcija može biti osvojena jeftino - za 30 sekundi a 6 dinara!
Re: Da li velike-'neiskoriscene' klase usporavaju izvrsenje osnovnog skripta? 18.04.2007. u 22:22 · pre 238 meseci #2
Uvek se učitava cela datoteka, ali za 40kb to ne treba da te brine, tek na veličinama od preko 200kb postaje merljivo usporavanje, ali ipak neprimetno za posmatrača jer se sve to dešava na lokalnom disku servera.

A pošto je PHP interpreter (znači izvršava instrukciju po instrukciju) to što ima ne iskorištenih funkcija u datoteci smatraj da neće usporiti izvršavanje (u stvari hoće ali ne merljivo malo).
Potpis
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
Re: Da li velike-'neiskoriscene' klase usporavaju izvrsenje osnovnog skripta? 18.04.2007. u 22:37 · pre 238 meseci #3
Znaci poenta je u tome da je html stranica koja se salje sto manja?

Da li je stvarno tako da PHP fajl koji generise HTML stranicu moze biti i 50kb - 100kb i to nece praviti dodatno usporenje od npr. 1-2 sekunde prilikom izvrsenja? Da li se to usporenje meri sekundama ili manjim merama?
Potpis
Aukcije, www.Odbrojavanje.com
Aukcija može biti osvojena jeftino - za 30 sekundi a 6 dinara!
Re: Da li velike-'neiskoriscene' klase usporavaju izvrsenje osnovnog skripta? 19.04.2007. u 02:04 · pre 238 meseci #4
Meri se u stotinkama sekunde.

Naravno druga je priča šta taj skript radi, dali otvara mysql, dali pristupa drugim sajtovima, dali se vrti u nekoj velikoj petlji radeći neke teže zadatke, sve to dodatno usporava, ali ako ga nisi opteretio poslom biće brz.
Potpis
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
Re: Da li velike-'neiskoriscene' klase usporavaju izvrsenje osnovnog skripta? 19.04.2007. u 09:47 · pre 238 meseci #5
Ovo je bitno u onoj meri u kojoj vodis racuna o resursiva servera.

Najbolje je funkcije podeliti po klasama, pa inicirati na pocetku samo one klase koje su stalno u upotrebi, a one koje se ponekad koriste inicirati tek kad zatrebaju (obavezan include_once ili require_once).

Veliki broj include-a ce povecati zahteve za memorijom. Ukoliko ti sql upiti nisu optimizovani, ukoliko su inicirani veliki nizovi a nepotrebni... sve to kada se sabere puta broj poseta moze doprineti povecanju upotrebljene memorije na serveru. Na malom broju poseta to se ne oseca, medjutim ukoliko je veci broj poseta, ili je recimo velika baza to ce se itekako osetiti.

Kako izbeci ovo?

E, pa, o tome treba voditi racuna - kod svake linije koda treba razmisliti o tome...
Potpis
Moj Veb Sajt HostCentar Blog
Aleksinac Južna Srbija TimeOut
Re: Da li velike-'neiskoriscene' klase usporavaju izvrsenje osnovnog skripta? 20.04.2007. u 09:59 · pre 238 meseci #8
Cisto me zanima, kad uzmem i podelim klasu na nekoliko fajlova. Ali ne nasledjivanjem vec samo jednostavnim izdvajanjem tela velikih funkcija u posebne fajlove. Trebalo bi da na ovaj nacin smanjim velicinu fajla koji se ucitava, zar ne?

Code:

<?php //fajl u kojem je klasa

class A
{
  public function getHTML()
  {
    require_once "func_getHTML.php";
    return $rezultat;
  }
}

?>


<?php //func_getHTML.php  - fajl u kojem je izmesteno telo funkcije

//
//veci deo koda
//

$rezultat = "neka vrednost"; 
?>
Re: Da li velike-'neiskoriscene' klase usporavaju izvrsenje osnovnog skripta? 03.05.2007. u 18:53 · pre 237 meseci #9
Mislim da ti je ovo resenje veoma lose.

Jedna od lepih osobina klasa je ta sto ti je sve na jednom mestu, tj. "grupisanje" koda po nekim logickim celinama.
Tvojim resenje samo rasipas kod nepotrebno. Da ne pricamo sta bi bilo da imas desetak klasa i da svaka preba da "inkluduje" tela svojih vecih metoda...

Mislim da ovim nista neces dobiti.

U krajnjem slucaju

PHP ima funkciju "microtime" ili tako nesto pa testiraj sta je brze :) npr


$start = microtime();

// neki kod

$end = microtime();
$end = $end - $start;
echo $end;


Re: Da li velike-'neiskoriscene' klase usporavaju izvrsenje osnovnog skripta? 04.05.2007. u 00:16 · pre 237 meseci #10
Pitanje je bilo vise teorijsko, jer je jedna od dilema bila koliko velicina fajla u kojem je klasa, utice na brzinu inicijalizovanja klase. Naravno da nisam mislio da izdvajam sva tela velikih funkcija u posebne fajlove :) do duse, mozda bi se ovo i moglo iskoristiti na nekom specificnom 'uskom grlu' gde je app u odmakloj fazi i gde je kasno za redizajn klase. BTW, to sto zoves 'grupisanje koda' u OOP se naziva enkapsulacija.
Pozz
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme