Avatar billede udvikler Nybegynder
26. november 2005 - 16:33 Der er 9 kommentarer og
1 løsning

Hvorfor er min genererings tid så stor ?

jeg har lavet følgene kode som finder genererings tiden på siden. men min genererings tid er på ca. 5 sek. ? mens den her på eksperten er 0,0432 hos mig lige nu ?

hvad kan dette skyldes ?

koden:

<?php
function hentmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
$start = hentmicrotime();
?>
Blabla
<?php
$slut = hentmicrotime();
$tiden = $slut - $start;
$tiden = substr($tiden,0,6);
echo "Genereringstid: <b>$tiden</b> sec.";
?>

---------------
min side indenholder intet andet en det, det er bare en test side hvor der kun står "Blabla" men den er 100 gange langsommere end ekspertens åbenbart :S
Avatar billede jakobdo Ekspert
26. november 2005 - 16:40 #1
Jeg tror det er din kode som regner forkert.
Test denne kode:

<?php
$time_start = microtime(true);

// Sleep for a while
usleep(100);

$time_end = microtime(true);
$time = $time_end - $time_start;

echo "Did nothing in $time seconds\n";
?>
Avatar billede udvikler Nybegynder
26. november 2005 - 16:45 #2
Hvis jeg skriver:

Blabla

<?php
echo "<br>";
echo "<br>";

$time_start = microtime(true);

// Sleep for a while
usleep(100);

$time_end = microtime(true);
$time = $time_end - $time_start;

echo "Genereringstid: <b>$time</b> sec.";
?>

for jeg en bedre tid ihvertfald:

output:

Blabla

Genereringstid: 0.00146 sec.

passer det ?
Avatar billede jakobdo Ekspert
26. november 2005 - 16:46 #3
Det lyder mere rigtigt ja!
Avatar billede udvikler Nybegynder
26. november 2005 - 16:49 #4
Ok, og jeg skal bare indsætte din kode nederst i alle mine dokumenter for at få det til at funke ?

og forresten, hvad kan man egentlig bruge den tid til ?
- ja selvfølgelig til at finde ud af hvor hurtig ens side uploades af browseren men kan man bruge det til mere ?

Læg et svar.
Avatar billede hmortensen Nybegynder
26. november 2005 - 16:54 #5
Tiden fortæller ikke hvor hurtigt sidens data bliver sendt til klienten, men hvor hurtigt php motoren har genereret den.

Det kan fx. bruges til at se om man har nogle tunge loops.
Tidsudregningen kan så flyttes til en bestemt kodeblok, som så kan testes for genereringstid.

Du skal ha det her øverst, ellers får du ikke den totale genereringstid, men blot fra hvor du har sat den.
$time_start = microtime(true);
Avatar billede udvikler Nybegynder
26. november 2005 - 17:00 #6
Tak, læg da et svar
Avatar billede udvikler Nybegynder
26. november 2005 - 17:27 #7
Går ud fra i ikke vil have point ?
Avatar billede jakobdo Ekspert
26. november 2005 - 17:32 #8
Svar!
Avatar billede udvikler Nybegynder
26. november 2005 - 17:44 #9
Tak skal du have :)
Avatar billede jakobdo Ekspert
26. november 2005 - 17:45 #10
Takker!
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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