Jump to content
php.lv forumi

__ScriptaIzpildesLaiksMeritajs__


0x13hst

Recommended Posts

A kāpēc tur tik daudz to pasvītrojama zīmju? Apakšsvītras pieņemts lietot funkcijām, kas klasē domātas kā privātas metode.

Var lietot kautvai šādu varianti, kas vainas tam:

<?php
   $start = microtime(true);
   
   // ... code
   
   echo 'used seconds = ' . (microtime(true)-$start);
?>

Un nevienas funkcijas..

Link to comment
Share on other sites

<?php
  $start = microtime(true);
  
  // ... code
  
  echo 'used seconds = ' . (microtime(true)-$start);
?>

 

Shita raksti man ne ipshi patik, ta jau rakstu fukcijas, vai kaut to visu padaru viena funkcija, un pie tam microtime() nav tik atrs ka gettimeofday(). pats parbaudi.

Edited by 0x13hst
Link to comment
Share on other sites

Nu nesaprotu vienalga! Kāda jēga rakstīt funkciju, kas tikai izsauc citu funkciju?

function My_Uber_Echo($text) {
 echo $text;
}

??

 

Pie tam, ātruma atšķirības - tev tik ļoti uztrauc, cik laika aizņem laika mērīšana? Tas jau tāpat tik vienreiz jādara. Īpaši neredzu jēgu uztraukties par to.

Link to comment
Share on other sites

Nu nesaprotu vienalga! Kāda jēga rakstīt funkciju, kas tikai izsauc citu funkciju?

19308[/snapback]

 

a ja šitāda funkcija tiek izsaukta 10x un tagad nepieciešams nodrošināt citu funkcinalitāti, piemēram, iezīmēt tekstu kā boldu:

function My_Uber_Echo($text) {
echo '<b>'.$text.'</b>';
}

 

Šitas vispār ir strīdīgs jautājums, kā ir labāk darīt. Ja baigi par performace domājam, tad varam sāk kasīties, bet bieži vien visvairāk resursu tiek patērēts nedaudz līkos ciklos vai loģiskos nosacījumus un nevis kaut kādas izvades nodrošināšanai vai kādas funkcijas izsaukumam, kas pārraksta citu funkciju.

 

Piem., ja ir strādājot ar php4 izmantojam savu klasi/funkciju, kurā izsaucām mysq_connect(), tad pārejot uz versiju php5 mums ir jāveic izmaiņas tikai vienā vietā, proti, savā funkcijā, tā vietā, lai mainītu mysql_connect() uz mysqli_connect() visā projektā/projektos

Link to comment
Share on other sites

Tā tabuliņa pie 3. punkta (How to use PHP-APD in your scripts) nav tie trace laiki?

19345[/snapback]

 

nē nu protams kaut kas jaut utr ir... :) tikai nezinu vai tas ko man vajag:)

 

vajag šitā

 

main()

|__ YY::construct() = 0.4 sec

| |__ YY::initKautKas() = 0.1 sec

|__ YY->connect() = 0.1 sec

|__ BB::construct() = 0.1 sec

 

 

kaut kā šitā :) principā man jau ir iesākts.. tikai tos time-handlerus ir jāraksta katrā izmantotā f-ja :( .. gribētos lai f-jas call handlers palaistu autmātiksi pie f-jas sākuma izpildes + izpildes beigās. Plus iespraust manuāli time-handleri kaut kur pa vidu f-jai :)

Link to comment
Share on other sites

Nu tad pie 4. punkta tas laikam minēts: " To generate a calltree file ... "

Gūglē arī vienu doku uzgāju: http://jon.oxer.com.au/talks-static/media/...hpprofiling.pdf Tur 15.lpp parādīts tāds tree. Ar kautkādu Kcachegrind (29 lpp) var iegūt pavisam smuku bildi :)

Laikam jau tas ir kas vajadzīgs.

Edited by bubu
Link to comment
Share on other sites

Jus visi domajat par rofiletaju.

 

piemeram kad skripta uzrada vietas kas vissvairak patere laiku un procja laiku.

dklab.ru foruma tika tads jautajums apspriests, bet tikai tur izmanto debuger, dazjiem editoriem ira tada ficja nezinu kuriem , bet ja nav grutibu ar krievu valodu iesaku iegriezties dklab.ru forumaa.

Link to comment
Share on other sites

×
×
  • Create New...