Changeset 91 for branches/1.1dev/lib/ScriptTimer.inc.php
- Timestamp:
- Apr 9, 2006 3:39:08 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/1.1dev/lib/ScriptTimer.inc.php
r90 r91 7 7 class ScriptTimer { 8 8 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(); 12 13 13 function start ($name ='default') {14 function start($name='default') { 14 15 $this->_timing_start_times[$name] = explode(' ', microtime()); 15 16 } 16 17 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); 19 20 } 20 21 21 function getTime($name ='default') {22 function getTime($name='default') { 22 23 if (!isset($this->_timing_start_times[$name])) { 23 24 return 0; … … 31 32 $current = $stop_time[1] - $this->_timing_start_times[$name][1]; 32 33 $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>'; 34 54 } 35 55 }
Note: See TracChangeset
for help on using the changeset viewer.