Ignore:
Timestamp:
Apr 9, 2006 3:39:08 AM (18 years ago)
Author:
scdev
Message:

added tree functions to print nested <li>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/1.1dev/lib/ScriptTimer.inc.php

    r90 r91  
    77class ScriptTimer {
    88
    9     var $time_format = '%.10f';
    10     var $_timing_start_times;
    11     var $_timing_stop_times;
     9    var $time_format = '%.10s';
     10    var $_timing_start_times = array();
     11    var $_timing_stop_times = array();
     12    var $_timing_cumulative_times = array();
    1213   
    13     function start ($name = 'default') {
     14    function start($name='default') {
    1415        $this->_timing_start_times[$name] = explode(' ', microtime());
    1516    }
    1617   
    17     function stop($name = 'default') {
    18         $this->_timing_stop_times[$name] = explode(' ', microtime());
     18    function stop($name='default') {
     19        $this->_timing_cumulative_times[$name] += $this->getTime($name);
    1920    }
    2021   
    21     function getTime($name = 'default') {
     22    function getTime($name='default') {
    2223        if (!isset($this->_timing_start_times[$name])) {
    2324            return 0;
     
    3132        $current = $stop_time[1] - $this->_timing_start_times[$name][1];
    3233        $current += $stop_time[0] - $this->_timing_start_times[$name][0];
    33         return sprintf($this->time_format, $current);
     34        return $current;
     35    }
     36   
     37    function printAll($sort_by_time=false)
     38    {
     39        $names = array_map('strlen', array_keys($this->_timing_start_times));
     40        sort($names);
     41        $name_len = end($names);
     42       
     43        if ($sort_by_time) {
     44           arsort($this->_timing_cumulative_times, SORT_NUMERIC);
     45        }
     46       
     47        $this->_timing_cumulative_times["TOTAL"] = array_sum($this->_timing_cumulative_times);
     48
     49        echo '<pre>';
     50        foreach ($this->_timing_cumulative_times as $name => $time) {
     51            printf("\n%-{$name_len}s $this->time_format", $name, $time);
     52        }
     53        echo '</pre>';
    3454    }
    3555}
Note: See TracChangeset for help on using the changeset viewer.