15. september 2009 - 11:27 Der er 7 kommentarer

microtime under apache/iis

Jeg har et issue omkring en timer jeg afprøver.

Tallene jeg får retur stemmer ikke overens med min fornuft (hvilket måske også kan være en bug i sig selv). Når jeg eksekvere mit script og måler tiden får jeg værdier der afviger så meget som:

0.00014495849609375

til

7.4148178100586E-5

Min kode:

<?php
  $mtime = microtime();
  $mtime = explode(" ",$mtime);
  $mtime = $mtime[1] + $mtime[0];
  $starttime = $mtime;

    for ( $number = 0; $number < 100; $number++){
        echo $number;
    }

    echo '<br/><br/>';

  $mtime = microtime();
  $mtime = explode(" ",$mtime);
  $mtime = $mtime[1] + $mtime[0];
  $endtime = $mtime;
  $totaltime = ($endtime - $starttime);
  echo "This page was created in ".$totaltime." seconds";
;?>

Er det en bug i mit hovede eller i php ?
Avatar billede repox Seniormester
15. september 2009 - 11:33 #1
Hvad hvis du prøver:

<?php
  $start = microtime();

    for ( $number = 0; $number < 100; $number++){
        echo $number;
    }

    echo '<br/><br/>';
 
  $end = microtime();
  $totaltime = ($end - $start);
  echo "This page was created in ".$totaltime." seconds";
;?>


Giver det så ikke hvad du venter?
15. september 2009 - 12:11 #2
@epox desværre, samme issue!
Avatar billede repox Seniormester
15. september 2009 - 12:37 #3
Hvad er problemet egentlig? Er det fordi du opfatter tallene som forkerte?

På et par test har jeg som kun en max forskel på 2 mikrosekunder.
15. september 2009 - 13:53 #4
@repox det stod i min første post.

Hvad er tidsforkellen på:

0.00014495849609375

i forhold til

7.4148178100586E-5

Det køre på en windows boks.
Avatar billede repox Seniormester
15. september 2009 - 14:04 #5
Så er det fordi du ikke kan læse tallene.
7.4148178100586E-5  svarer til 0,0007148 blah blah blah...

Hvis du gerne vil undgå at se E-5 kan du bruger number_format().
http://php.net/number_format og begrænse decimalerne til 10, f.eks.

$totaltime = number_format(($end - $start), 10);

Så burde du kunne læse dem som forventet.
15. september 2009 - 14:31 #6
@repox smid et svar :)
Avatar billede repox Seniormester
15. september 2009 - 14:37 #7
Det fik du her :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester