Re: unexplainable - page generation time class

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I think the problem is how, when and where you're calling things.

Basically, your code is fine. I modified it slightly and get the correct
output. This could still be cleaned up and optimised significantly;
however, I think you can take it from here:

Your Class:

<?php
class page_gen {
        //
        // PRIVATE - DO NOT MODIFY
        //
        var $cls_start_time;
        var $cls_stop_time;
        var $cls_gen_time;
        
        //
        // FIGURE OUT THE TIME AT THE BEGINNING OF THE PAGE
        //

        function start() {
            $microstart = explode(' ',microtime());
            $this->cls_start_time = $microstart[0] + $microstart[1];
            return $this->cls_start_time;
        }
        
        //
        // FIGURE OUT THE TIME AT THE END OF THE PAGE
        //
        function stop() {
            $microstop = explode(' ',microtime());
            $this->cls_stop_time = $microstop[0] + $microstop[1];
            return $this->cls_stop_time;
        }
        
        //
        // CALCULATE THE DIFFERENCE BETWEEN THE BEGINNNG AND THE END AND
COLOR CODE THE RESULT
        //
        function gen($start, $stop) {
            $this->cls_gen_time = $stop - $start;
            return $this->cls_gen_time;
        }
    }
?>

index php that calls it:

<?PHP

require_once("timer.php");

$page_gen = new page_gen;

$start=$page_gen->start();
sleep(2);
$stop=$page_gen->stop();

echo("start/stop: $start $stop<br><br>");

$gentime=$page_gen->gen($start, $stop);

echo "generation time: ". $gentime;

?>

Output:

start/stop: 1110096261.12 1110096263.13

generation time: 2.00168681145

All the best,

Ian

---
Ian Firla Consulting
http://ianfirla.com

On Sat, 2005-03-05 at 22:04 -0700, James Williams wrote:
> Howdy!  I've made a class which simply determines the page generation 
> time of a php script... After pretty much an hour of straight examining 
> the code and trying tons of different things, no good has come of it, 
> however I can't find an error... anywhere.
> 
> <?php
> class page_gen {
>         //
>         // PRIVATE - DO NOT MODIFY
>         //
>         var $cls_start_time;
>         var $cls_stop_time;
>         var $cls_gen_time;
>         
>         //
>         // FIGURE OUT THE TIME AT THE BEGINNING OF THE PAGE
>         //
>         function start() {
>             $microstart = explode(' ',microtime());
>             $this->cls_start_time = $microstart[0] + $microstart[1];
>         }
>         
>         //
>         // FIGURE OUT THE TIME AT THE END OF THE PAGE
>         //
>         function stop() {
>             $microstop = explode(' ',microtime());
>             $this->cls_stop_time = $microstop[0] + $microstop[1];
>         }
>         
>         //
>         // CALCULATE THE DIFFERENCE BETWEEN THE BEGINNNG AND THE END AND 
> COLOR CODE THE RESULT
>         //
>         function gen() {
>             $this->cls_gen_time = $this->cls_stop_time - 
> $this->cls_start_time;
>             return $this->cls_gen_time;
>         }
>     }
> ?>
> 
> What happens is it simply returns the $this->cls_start_time variable.  
> 
> Both the start() and stop() functions work fine because to test them I 
> put print commands at the end and they both returned proper results, the 
> error appears to be in the line where I minus the start time from the 
> end time.  It simply returns a negative start time instead of minusing 
> the two.
> 
> I tried changing the minus to a plus for testing sake and it just took 
> out the negative.  Does anybody have any idea what is going on here?  
> Thanks-you
> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux