Autor Zpráva
návštěvník
Profil *
Dělám stránky založené na starším RS s využitím db. Zjistil jsem že doba načtení první stránky (obsahuje statistiky, ale je tam jen málo položek, asi 7-10) je kolem 0.6-7s (nebo to bylo myslím 6-7 sekund když jsem to dneska poprvé aktualizoval) když se stránka načítá komplet a kolem 0.3-0.4 když se aktualizuje částečně z cache. To mi připadá docela pomalé na to že to běží na localhostu. Stánky obsahují mnoho globálních proměnných a konstant a jen málo tříd, takže tomu schází zabalení. Tak mě zajímá jestli to může být příčina že je to pomalé. Jede na starší mašině cca 2.4 GHz. Tedy myslíte si, že když bych ty stránky překopal do tříd a trochu to zabalil (například zkusit používat class const místo obyčejných konstant), že by to jelo rychleji?

Dále mě zajímá jestli na výkon má vliv, když stránky jsou dělany v tomto stylu:

Výpis tabulky:
            <TABLE WIDTH="100%" CELLSPACING="1" CELLPADDING="3">
             <TR> 
              <TD><?=USERNAME?><TD><?=GENDER?><TD><?=AGE?><TD><?=POPULARITY?>
<?while(isset($pids[$p])) { /* If popular users exist - Begin */ ?>        
             <TR> 
              <TD><A CLASS="link3" href="<?=GenLink('UserProfile',array(LANGUAGE,$pids[$p]))?>"><?=$pnames[$p]?></A>
              <TD><?=$pgenders[$p]?><TD><?=$pages[$p]?>
              <TD><?=$phits[$p]?>
<?$p++;}$p=0; /* If popular users exist - Begin */ ?>        
            </TABLE>
Jestli by nebylo lepší pro ten výstupní výpis udělat funkci jako
<?=view.get_most_popular_user_list(1);?> že se ta smyčka nejdříve sestaví a pak se to najednou přidá, nebo na tom vůbec nezáleží?

Není mi totiž rozdíl mezi stylem zápisu kdy mám smyčku a uvnitř echo string a tímto zápisem. Styl: smyčka echo string je rozhodně pomalý protože se ve smyčce opakuje neusále jeden příkaz odesílání na výstup a taky si myslím, že je to podobné jako v C++ (že se to bude chovat stejně pomale pokud do smyčky dáte odesílání dat na výstupní stream), než když data nejdříve sečtete a pak odešlete na výstup.
Alphard
Profil
1. Od objektů čekáte něco, co nemohou poskytnout, jsou spíše pomalejší. Zběsilým připsáním class všude kde to jde nic nezrychlíte.
2. Je to úplně jedno, řešíte blbosti.

Jestli to na něčem stojí 6 sekund, zjistěte, na čem. Není problém v nějakém blbém SQL dotazu třeba? Obecně je třeba řešit algoritmizaci, ne syntaxi.
návštěvník
Profil *
Alphard:
No, možná se budeš divit, ale poté co jsem provedl pár designových úprav (nepotřebné tabulky jsem dal pryč a nahradil je divy, vymazal jsem atributy pro styl a nahradil je css styly) tak teď to jede prokazatelně min. o 1/3 rychleji. Z 0.3-0.4 se čas zkrátil na 0.21. Na stránce s výpisem vzkazů se čas zkrátil 0.18, a bylo to někde mezi 0.2-0.3. Nějaké zrychlení tam je, ale neumím si to vysvětlit, jak je to možné, vždyď ten processing time se měří na úrovni php, ne na úrovni html...
Alphard
Profil
Když ušetříte datovou velikost, je to rychlejší. Že tak výrazně mě překvapuje, ale tím líp. Nevím, o kolik procent klesla datová velikost, jak je nastavené bufferování, jestli jste tí redesignem neodmazal i pár pomalých (třeba jen vykreslovacích) funkcí apod.
Obecně si ale pořád myslím, že než začít dělat úpravy naslepo je dobré proměřit, co je skutečná brzda.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0