123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
- /**
- * CodeIgniter
- *
- * An open source application development framework for PHP 5.1.6 or newer
- *
- * @package CodeIgniter
- * @author EllisLab Dev Team
- * @copyright Copyright (c) 2008 - 2014, EllisLab, Inc.
- * @copyright Copyright (c) 2014 - 2015, British Columbia Institute of Technology (http://bcit.ca/)
- * @license http://codeigniter.com/user_guide/license.html
- * @link http://codeigniter.com
- * @since Version 1.0
- * @filesource
- */
- // ------------------------------------------------------------------------
- /**
- * CodeIgniter Benchmark Class
- *
- * This class enables you to mark points and calculate the time difference
- * between them. Memory consumption can also be displayed.
- *
- * @package CodeIgniter
- * @subpackage Libraries
- * @category Libraries
- * @author EllisLab Dev Team
- * @link http://codeigniter.com/user_guide/libraries/benchmark.html
- */
- class CI_Benchmark {
- /**
- * List of all benchmark markers and when they were added
- *
- * @var array
- */
- var $marker = array();
- // --------------------------------------------------------------------
- /**
- * Set a benchmark marker
- *
- * Multiple calls to this function can be made so that several
- * execution points can be timed
- *
- * @access public
- * @param string $name name of the marker
- * @return void
- */
- function mark($name)
- {
- $this->marker[$name] = microtime();
- }
- // --------------------------------------------------------------------
- /**
- * Calculates the time difference between two marked points.
- *
- * If the first parameter is empty this function instead returns the
- * {elapsed_time} pseudo-variable. This permits the full system
- * execution time to be shown in a template. The output class will
- * swap the real value for this variable.
- *
- * @access public
- * @param string a particular marked point
- * @param string a particular marked point
- * @param integer the number of decimal places
- * @return mixed
- */
- function elapsed_time($point1 = '', $point2 = '', $decimals = 4)
- {
- if ($point1 == '')
- {
- return '{elapsed_time}';
- }
- if ( ! isset($this->marker[$point1]))
- {
- return '';
- }
- if ( ! isset($this->marker[$point2]))
- {
- $this->marker[$point2] = microtime();
- }
- list($sm, $ss) = explode(' ', $this->marker[$point1]);
- list($em, $es) = explode(' ', $this->marker[$point2]);
- return number_format(($em + $es) - ($sm + $ss), $decimals);
- }
- // --------------------------------------------------------------------
- /**
- * Memory Usage
- *
- * This function returns the {memory_usage} pseudo-variable.
- * This permits it to be put it anywhere in a template
- * without the memory being calculated until the end.
- * The output class will swap the real value for this variable.
- *
- * @access public
- * @return string
- */
- function memory_usage()
- {
- return '{memory_usage}';
- }
- }
- // END CI_Benchmark class
- /* End of file Benchmark.php */
- /* Location: ./system/core/Benchmark.php */
|