Jump to content
php.lv forumi

Mājaslapas optimizācija


eT`

Recommended Posts

class script_timer
{
  var $_construct;

  function script_timer ($_x = 1)
  {
   $this->_construct = $_x;
   return true;
  }

  function start_timer ()
  {
   @define ("TIMER_START_TIME", microtime());

   return true;
  }

  function get_time ($decimals=2)
  {
   $start_time = explode (" ", TIMER_START_TIME);
   $start_time = $start_time[1] + $start_time[0];
   $end_time = explode (" ", microtime());
   $end_time = $end_time[1] + $end_time[0];
   if ($this->_construct) {
	   return '<br><br>'.(number_format ($end_time - $start_time, $decimals));
   }  else {
	   return null;
   }
  }
}

 

$timer = new script_timer(1);
$timer->start_timer();

$timer->get_time();
//kods
$timer->get_time();

 

merijam "//kods" ieksha php izpildes rezultatu milisekundes

Link to comment
Share on other sites

  • Replies 36
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Priekš kam tā bezjēdzīgā klase ir vajadzīga tādai funkcijai kā taimera palaišana un nolasīšana? Pirmkārt tā klase izskatās pretīgi, otrkārt - tā noteikti strādās lēnāk nekā izsaucot pa tiešo php funkciju un miers.

Link to comment
Share on other sites

vovo, tad jau kaut kā šitā http://paste.php.lv/8365, lai varbūt objekta izmantošana atmaksājas

un izmantot šo

$t = Timer::start();
for($i=0;$i<10; $i++){
sleep($i);
echo Timer::pp($t->elapsed()). "\t(+". Timer::pp($t->diff()).")\n";
}

 

bet, vismaz man, tik fēčainu taimeri nemaz ij nevajag, vai nu ar 3 rindiņu garu f-ju vai xdebug profileri visu var samērīt kā tik vajag.

Link to comment
Share on other sites

Priekš kam tā bezjēdzīgā klase ir vajadzīga tādai funkcijai kā taimera palaišana un nolasīšana? Pirmkārt tā klase izskatās pretīgi, otrkārt - tā noteikti strādās lēnāk nekā izsaucot pa tiešo php funkciju un miers.

php 4 varbut.. php5 noteikti ne. Jebkura gadijuma tas ir piemers ka noteikt bremzesanas vietas php koda.

Link to comment
Share on other sites

YO_medved, piedod, bet ja jau php5, tad kāpēc:

* 'define' nevis enkapsulācija;

* kāpēc '@' nevis 'defined'?

* kāpēc 'var', nevis 'private/public'?

* kāpēc neizmanto microtime() argumentu $get_as_float

* kāpēc konstruktors nav php5 stilā ar 'maģisko' f-ju

* ko dara konsturktora arguments $_x, ja gribi tā panākt taimerošana mode ieslēgta/izslēgta, vai tad 'izslēgta' gadījumā labāk nebūtu vispār neveidot objekta instanci?

* kāpēc klase gļuko, ja uztaisu divas taimera instances :p

 

zinu, kaut kā ar dievu uz pusēm darbojas arī šitā, bet, imho, nevajag tādus 'garadarbus' likt kā piemēru, jo šis noderēs tikai tad, kad vajadzēs pierādīt ka php sux.

Edited by v3rb0
Link to comment
Share on other sites


×
×
  • Create New...