login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Optimaliseren

Offline Fenrir - 18/02/2005 16:59 (laatste wijziging 18/02/2005 17:38)
Avatar van FenrirPHP expert Ik heb een tempalte-engine gemaakt, en ik wil het graag optimaliseren.

Ik heb 3 dingen die vaak worden uitgevoerd (als ik 3 tabellen print met ieder 10.000 cellen, dan duurt het ong. 4.6 sec. Met TemplatePower is dat 5.6 sec, dus het gaat al goed, maar ik wil beter ):

Functies:
  1. <?php
  2. // 1e functie:
  3. function newBlock($block)
  4. {
  5. $pblock = &$this->TemplateData;
  6.  
  7. if(isset($this->blocks[$block]))
  8. {
  9. $blockparents = $this->blocks[$block];
  10. }else
  11. {
  12. $this->Error('The block <i>"' . $block . '"</i> doesn\'t exist in the template <i>"' . $this->TemplateFile . '"</i>.');
  13. }
  14.  
  15. $blockparents[] = $block;
  16.  
  17. foreach($blockparents as $k => $pname)
  18. {
  19. if(!isset($pblock['BLOCKS'][$pname]))
  20. {
  21. $pblock['BLOCKS'][$pname] = array();
  22. }
  23.  
  24. if($pname == $block)
  25. {
  26. $pblock = &$pblock['BLOCKS'][$pname][count($pblock['BLOCKS'][$pname])];
  27. }else
  28. {
  29. $pblock = &$pblock['BLOCKS'][$pname][count($pblock['BLOCKS'][$pname]) - 1];
  30. }
  31. }
  32.  
  33. $this->currBlock = &$pblock;
  34. }
  35.  
  36. // 2e functie: (hier valt volgens mij niet veel aan te optimaliseren??)
  37. function Assign($var, $content)
  38. {
  39. $this->currBlock['VARS'][$var] = $content;
  40. }?>


Loop:
  1. <?php
  2. if(isset($block["BLOCKS"]["Cell"])):
  3. foreach($block["BLOCKS"]["Cell"] as $block):
  4. ?>
  5. <td><?=@$block["VARS"]["content"]?></td>
  6. <?php
  7. endforeach;
  8. endif;
  9. ?>


Deze dingen worden erg vaak uitgevoerd. Bij de 3 tabellen van ieder 10.000 cellen, wordt de functie assign() dus 30.000 keer uitgevoerd, en newBlock() 30.303 keer.

Weten jullie hoe dit moet?
Ik weet niets van optimalisatie...:$

mvd,
Fenrir

EDIT:

jeeej!
Het is nu:
Parse-Time: 3.8163509369 Seconds

omdat ik nu meteen output als er output is, en niet wacht tot alles klaar is.
maar verdere verbeteringen natuurlijk nog steeds welkom!

0 antwoorden

Gesponsorde links
Er zijn nog geen reacties op dit bericht.
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.299s