Toon posts:

[PHP]Microtime

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey,

ik heb hetvolgende:
code:
1
2
3
4
5
6
<? 
function getmicrotime(){ 
list( $usec, $sec ) = explode( " ", microtime() ); 
return( (float) $usec + (float) $sec ); 
} 
?>

Als het goed is, reken je hier de laadtijd van een pagina mee uit. Maar hoe moet ik dat laten zien?

Verwijderd

Topicstarter
Dus dat ik onderaan de pagina heb staan:

De laadtijd is: 1.024157 seconden. Ongeveer zoiets...

  • JoostBaksteen
  • Registratie: December 2000
  • Laatst online: 27-03 19:32
Dat staat in dit topic: [topic=182380]

Verwijderd

Tis heel simpel, je neemt helemaal bovenaan een mircotime en helemaal onderaan, dat trek je van elkaar af en dan echo je dat.

Verwijderd

Topicstarter
Hoe dan?

Zo:
code:
1
2
3
4
5
6
7
8
<?
$begintime = getmicrotime();
$endtime = getmicrotime();

$totaltime = ($begintime - $endtime);

echo"$totaltime";
?>

Zo?
Lijkt me niet...

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13:51

Janoz

Moderator Devschuur®

!litemod

Waarom niet dan?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • NightBird
  • Registratie: Januari 2000
  • Laatst online: 21:13

NightBird

DPC-Crew Coding
Op zaterdag 22 september 2001 23:40 schreef Janoz het volgende:
Waarom niet dan?
Omdat heel de pagina er nog tussen moet .. :)

WatHoorJeWaar · Asobakken
Eerdere projecten: Leading Courses · Brandstof-zoeker.nl · Voertuig-zoeker.nl


Verwijderd

Topicstarter
Als ik er 1 boven zet, en 1 onder, dan is de output 0:
code:
1
2
3
4
5
6
7
8
9
<?
$begintime = microtime();

// pagina (boven.php. index.php, onder.php)

$endtime = microtime(); 
$totaltime = ($begintime - $endtime); 
echo"$totaltime";
?>

:?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
check de example bij:
www.php.net/microtime

Verwijderd

[Beetje Off-topic]
Heeft iemand anders ook die PHP onder windows draait, dat je bij het benchmarken van je programma (eindtijd - begintijd) er soms negatieve waarden uitkomen?
[/Beetje Off-topic]

  • razor-x
  • Registratie: Februari 2001
  • Laatst online: 05-06 07:37
Op zondag 23 september 2001 09:15 schreef Zef het volgende:
[Beetje Off-topic]
Heeft iemand anders ook die PHP onder windows draait, dat je bij het benchmarken van je programma (eindtijd - begintijd) er soms negatieve waarden uitkomen?
[/Beetje Off-topic]
Ja dat heb ik wel eens :)

  • Tim
  • Registratie: Mei 2000
  • Laatst online: 23-07 15:18

Tim

Op zaterdag 22 september 2001 23:45 schreef BlueBaron het volgende:
Je moet ook $endtime - $begintime doen, en niet andersom..

Verwijderd

Het is net zo simpel:
PHP:
1
2
3
4
5
6
7
<?
$begintijd = microtime();

//pagina bouwen enzovoorts

echo "Deze site is in " . microtime() - $begintijd . "seconden gegenereerd.";
?>

En thats it.
Precies zoals men dus al zegt.

  • flat
  • Registratie: Mei 2000
  • Niet online
Op zondag 23 september 2001 11:03 schreef daniel_hoenderdos het volgende:
Het is net zo simpel:
PHP:
1
2
3
4
5
6
7
<?
$begintijd = microtime();

//pagina bouwen enzovoorts

echo "Deze site is in " . microtime() - $begintijd . "seconden gegenereerd.";
?>

En thats it.
Precies zoals men dus al zegt.
offtopic:
ik heb een pagina, waarin een header en een footer in geinclude worden, verder helemaal niets. als ik nou de header en de footer al gewoon in de php-file erbijzet, en er dus niets meer geinclude wordt, wordt de rendertime alleen maar hoger... daar snap ik dus niets van!

"Happiness is a way of travel, not a destination."
--Roy Goodman


Verwijderd

??
Je punt?
PHP:
1
2
3
4
5
6
7
<?
$begintijd = microtime();
//include header
//bouw pagina
//include footer
mijn echo commando
?>

Wat mooier is:
in je header de $begintijd = microtime();line en in je footer je echo commando geven.

Verwijderd

Op zondag 23 september 2001 10:41 schreef razor-x het volgende:

[..]

Ja dat heb ik wel eens :)
Heb ik vrij vaak zelfs, heel erg irritant ;( Zo heb ik ook nix meer aan die benchmarks...

  • JoostBaksteen
  • Registratie: December 2000
  • Laatst online: 27-03 19:32
Op zondag 23 september 2001 12:01 schreef Zef het volgende:

[..]

Heb ik vrij vaak zelfs, heel erg irritant ;( Zo heb ik ook nix meer aan die benchmarks...
Had ik eerst ook, moet je ff nieuwe versie van php downloaden dan gaat het goed, ik heb NOOIT meer negatieve getallen :)

Verwijderd

Op zondag 23 september 2001 12:41 schreef joostbaksteen het volgende:

[..]

Had ik eerst ook, moet je ff nieuwe versie van php downloaden dan gaat het goed, ik heb NOOIT meer negatieve getallen :)
Hmm, tja ik heb eigenlijk bewust php4.0.4 hier draaien (oudste die nog te krijgen is) om die php4 backward compatebility te behouden, nou ja het is even prioriteiten stellen dan maar.

  • JoostBaksteen
  • Registratie: December 2000
  • Laatst online: 27-03 19:32
Op zondag 23 september 2001 13:17 schreef Zef het volgende:

[..]

Hmm, tja ik heb eigenlijk bewust php4.0.4 hier draaien (oudste die nog te krijgen is) om die php4 backward compatebility te behouden, nou ja het is even prioriteiten stellen dan maar.
Je kan toch allebei draaien?? Installeer hem gewoon c:\php (zegmaar) dan rename je de map naar php1 dan installeer je de nieuwe naar c:\php dan heb je een nieuwe versie php. Maar als je de oude versie wilt rename je de map php1 naar php en php naar php1 heb je de oude versie.

Snap je het? Ik leg het misschien vaag uit...

Verwijderd

Slim ;) Ik zal eens kijken.

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
het ligt idd aan je php-versie..

staat wel ergens op de php-site..

ik ga denk ik ook eens die oplossing van joostbaksteen proberen :)

Verwijderd

Topicstarter
Ik heb nog een probleem:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
boven.php:

<?
$begintijd = microtime();
?>

index.php:

<?
include("boven.php");
echo"DE HTML PAGINA";
include("onder.php");
?>

onder.php:

<?
echo"$begintijd"; // dit (van boven.php) laat hij niet zien... hoe kan dat?
$tijd = (microtime() - $begintijd);
echo"De pagina is in $tijd geladen"; 
?>

Maar hij laat de echo"$begintijd"; niet eens zien. Hoe kan dat?

Verwijderd

PHP:
1
2
3
4
5
6
7
8
<?
include("boven.php");
echo "DE HTML PAGINA";
include("onder.php");
echo "$begintijd"; 
$tijd = microtime() - $begintijd;
echo "De pagina is in $tijd geladen"; 
?>

Moet werken, anders zit er ergens anders een fout.

Verwijderd

Topicstarter
Misschien omdat ik:

<?
include("boven.php");
?>
HTML PAGINA
<?
include("onder.php");
?>

heb?

Verwijderd

Topicstarter
Ik krijg nog steeds uit:

De pagina is in 0 geladen...

Dus ik heb bv. boven:

0.59139600 1001781545

en onder:

0.70067500 1001781545

En dan wil ik dat van elkaar aftrekken:

<?
$tijd = ($eindtijd - $begintijd);
echo"$tijd";
?>

Maar dan staat er: de pagina is in 0 sec. geladen.

Hoe kan dat?
Pagina: 1