diff options
Diffstat (limited to 'user_guide/libraries/benchmark.html')
-rw-r--r-- | user_guide/libraries/benchmark.html | 392 |
1 files changed, 196 insertions, 196 deletions
diff --git a/user_guide/libraries/benchmark.html b/user_guide/libraries/benchmark.html index 67c361357..9f83a8de5 100644 --- a/user_guide/libraries/benchmark.html +++ b/user_guide/libraries/benchmark.html @@ -1,197 +1,197 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<title>Benchmarking Class : CodeIgniter User Guide</title>
-
-<style type='text/css' media='all'>@import url('../userguide.css');</style>
-<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
-
-<script type="text/javascript" src="../nav/nav.js"></script>
-<script type="text/javascript" src="../nav/prototype.lite.js"></script>
-<script type="text/javascript" src="../nav/moo.fx.js"></script>
-<script type="text/javascript" src="../nav/user_guide_menu.js"></script>
-
-<meta http-equiv='expires' content='-1' />
-<meta http-equiv= 'pragma' content='no-cache' />
-<meta name='robots' content='all' />
-<meta name='author' content='ExpressionEngine Dev Team' />
-<meta name='description' content='CodeIgniter User Guide' />
-
-</head>
-<body>
-
-<!-- START NAVIGATION -->
-<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
-<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
-<div id="masthead">
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td><h1>CodeIgniter User Guide Version 1.7</h1></td>
-<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
-</tr>
-</table>
-</div>
-<!-- END NAVIGATION -->
-
-
-<!-- START BREADCRUMB -->
-<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
-<tr>
-<td id="breadcrumb">
-<a href="http://codeigniter.com/">CodeIgniter Home</a> ›
-<a href="../index.html">User Guide Home</a> ›
-Benchmarking Class
-</td>
-<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" /> <input type="submit" class="submit" name="sa" value="Go" /></form></td>
-</tr>
-</table>
-<!-- END BREADCRUMB -->
-
-<br clear="all" />
-
-
-<!-- START CONTENT -->
-<div id="content">
-
-
-<h1>Benchmarking Class</h1>
-
-<p>CodeIgniter has a Benchmarking class that is always active, enabling the time difference between any
-two marked points to be calculated.</p>
-
-<p class="important"><strong>Note:</strong> This class is initialized automatically by the system so there is no need to do it manually.</p>
-
-
-<p>In addition, the benchmark is always started the moment the framework is
-invoked, and ended by the output class right before sending the final view to the browser, enabling a very accurate
-timing of the entire system execution to be shown.</p>
-
-
-<h3>Table of Contents</h3>
-
-<ul>
-<li><a href="#using">Using the Benchmark Class</a></li>
-<li><a href="#profiler">Profiling Your Benchmark Points</a></li>
-<li><a href="#execution">Displaying Total Execution Time</a></li>
-<li><a href="#memory">Displaying Memory Consumption</a></li>
-</ul>
-
-
-
-<a name="using"></a>
-<h2>Using the Benchmark Class</h2>
-
-<p>The Benchmark class can be used within your <a href="../general/controllers.html">controllers</a>, <a href="../general/views.html">views</a>, or your <a href="../general/models.html">Models</a>. The process for usage is this:</p>
-
-<ol>
-<li>Mark a start point</li>
-<li>Mark an end point</li>
-<li>Run the "elapsed time" function to view the results</li>
-</ol>
-
-<p>Here's an example using real code:</p>
-
-<code>$this->benchmark->mark('code_start');<br />
-<br />
-// Some code happens here<br />
-<br />
-$this->benchmark->mark('code_end');<br />
-<br />
-echo $this->benchmark->elapsed_time('code_start', 'code_end');</code>
-
-<p class="important"><strong>Note:</strong> The words "code_start" and "code_end" are arbitrary. They are simply words used to set two markers. You can
-use any words you want, and you can set multiple sets of markers. Consider this example:</p>
-
-<code>$this->benchmark->mark('dog');<br />
-<br />
-// Some code happens here<br />
-<br />
-$this->benchmark->mark('cat');<br />
-<br />
-// More code happens here<br />
-<br />
-$this->benchmark->mark('bird');<br />
-<br />
-echo $this->benchmark->elapsed_time('dog', 'cat');<br />
-echo $this->benchmark->elapsed_time('cat', 'bird');<br />
-echo $this->benchmark->elapsed_time('dog', 'bird');</code>
-
-
-<a name="profiler"></a>
-<h2>Profiling Your Benchmark Points</h2>
-
-<p>If you want your benchmark data to be available to the
-<a href="../general/profiling.html">Profiler</a> all of your marked points must be set up in pairs, and
-each mark point name must end with <kbd>_start</kbd> and <kbd>_end</kbd>.
-Each pair of points must otherwise be named identically. Example:</p>
-
-<code>
-$this->benchmark->mark('my_mark<kbd>_start</kbd>');<br />
-<br />
-// Some code happens here...<br />
-<br />
-$this->benchmark->mark('my_mark<kbd>_end</kbd>');
-<br /><br />
-
-$this->benchmark->mark('another_mark<kbd>_start</kbd>');<br />
-<br />
-// Some more code happens here...<br />
-<br />
-$this->benchmark->mark('another_mark<kbd>_end</kbd>');
-</code>
-
-<p>Please read the <a href="../general/profiling.html">Profiler page</a> for more information.</p>
-
-
-<a name="execution"></a>
-<h2>Displaying Total Execution Time</h2>
-
-<p>If you would like to display the total elapsed time from the moment CodeIgniter starts to the moment the final output
-is sent to the browser, simply place this in one of your view templates:</p>
-
-<code><?php echo $this->benchmark->elapsed_time();?></code>
-
-<p>You'll notice that it's the same function used in the examples above to calculate the time between two point, except you are
-<strong>not</strong> using any parameters. When the parameters are absent, CodeIgniter does not stop the benchmark until right before the final
-output is sent to the browser. It doesn't matter where you use the function call, the timer will continue to run until the very end.</p>
-
-<p>An alternate way to show your elapsed time in your view files is to use this pseudo-variable, if you prefer not to use the pure PHP:</p>
-<code>{elapsed_time}</code>
-
-<p class="important"><strong>Note:</strong> If you want to benchmark anything within your controller
-functions you must set your own start/end points.</p>
-
-<a name="memory"></a>
-<h2>Displaying Memory Consumption</h2>
-
-<p>If your PHP installation is configured with --enable-memory-limit, you can display the amount of memory consumed by the entire
-system using the following code in one of your view file:</p>
-
-<code><?php echo $this->benchmark->memory_usage();?></code>
-<p>Note: This function can only be used in your view files. The consumption will reflect the total memory used by the entire app.</p>
-
-<p>An alternate way to show your memory usage in your view files is to use this pseudo-variable, if you prefer not to use the pure PHP:</p>
-<code>{memory_usage}</code>
-
-
-
-
-</div>
-<!-- END CONTENT -->
-
-
-<div id="footer">
-<p>
-Previous Topic: <a href="../general/security.html"> Security</a>
- ·
-<a href="#top">Top of Page</a> ·
-<a href="../index.html">User Guide Home</a> ·
-Next Topic: <a href="calendar.html">Calendaring Class</a>
-</p>
-<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2008 · <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
-</div>
-
-</body>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>Benchmarking Class : CodeIgniter User Guide</title> + +<style type='text/css' media='all'>@import url('../userguide.css');</style> +<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' /> + +<script type="text/javascript" src="../nav/nav.js"></script> +<script type="text/javascript" src="../nav/prototype.lite.js"></script> +<script type="text/javascript" src="../nav/moo.fx.js"></script> +<script type="text/javascript" src="../nav/user_guide_menu.js"></script> + +<meta http-equiv='expires' content='-1' /> +<meta http-equiv= 'pragma' content='no-cache' /> +<meta name='robots' content='all' /> +<meta name='author' content='ExpressionEngine Dev Team' /> +<meta name='description' content='CodeIgniter User Guide' /> + +</head> +<body> + +<!-- START NAVIGATION --> +<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div> +<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div> +<div id="masthead"> +<table cellpadding="0" cellspacing="0" border="0" style="width:100%"> +<tr> +<td><h1>CodeIgniter User Guide Version 1.7</h1></td> +<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td> +</tr> +</table> +</div> +<!-- END NAVIGATION --> + + +<!-- START BREADCRUMB --> +<table cellpadding="0" cellspacing="0" border="0" style="width:100%"> +<tr> +<td id="breadcrumb"> +<a href="http://codeigniter.com/">CodeIgniter Home</a> › +<a href="../index.html">User Guide Home</a> › +Benchmarking Class +</td> +<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" /> <input type="submit" class="submit" name="sa" value="Go" /></form></td> +</tr> +</table> +<!-- END BREADCRUMB --> + +<br clear="all" /> + + +<!-- START CONTENT --> +<div id="content"> + + +<h1>Benchmarking Class</h1> + +<p>CodeIgniter has a Benchmarking class that is always active, enabling the time difference between any +two marked points to be calculated.</p> + +<p class="important"><strong>Note:</strong> This class is initialized automatically by the system so there is no need to do it manually.</p> + + +<p>In addition, the benchmark is always started the moment the framework is +invoked, and ended by the output class right before sending the final view to the browser, enabling a very accurate +timing of the entire system execution to be shown.</p> + + +<h3>Table of Contents</h3> + +<ul> +<li><a href="#using">Using the Benchmark Class</a></li> +<li><a href="#profiler">Profiling Your Benchmark Points</a></li> +<li><a href="#execution">Displaying Total Execution Time</a></li> +<li><a href="#memory">Displaying Memory Consumption</a></li> +</ul> + + + +<a name="using"></a> +<h2>Using the Benchmark Class</h2> + +<p>The Benchmark class can be used within your <a href="../general/controllers.html">controllers</a>, <a href="../general/views.html">views</a>, or your <a href="../general/models.html">Models</a>. The process for usage is this:</p> + +<ol> +<li>Mark a start point</li> +<li>Mark an end point</li> +<li>Run the "elapsed time" function to view the results</li> +</ol> + +<p>Here's an example using real code:</p> + +<code>$this->benchmark->mark('code_start');<br /> +<br /> +// Some code happens here<br /> +<br /> +$this->benchmark->mark('code_end');<br /> +<br /> +echo $this->benchmark->elapsed_time('code_start', 'code_end');</code> + +<p class="important"><strong>Note:</strong> The words "code_start" and "code_end" are arbitrary. They are simply words used to set two markers. You can +use any words you want, and you can set multiple sets of markers. Consider this example:</p> + +<code>$this->benchmark->mark('dog');<br /> +<br /> +// Some code happens here<br /> +<br /> +$this->benchmark->mark('cat');<br /> +<br /> +// More code happens here<br /> +<br /> +$this->benchmark->mark('bird');<br /> +<br /> +echo $this->benchmark->elapsed_time('dog', 'cat');<br /> +echo $this->benchmark->elapsed_time('cat', 'bird');<br /> +echo $this->benchmark->elapsed_time('dog', 'bird');</code> + + +<a name="profiler"></a> +<h2>Profiling Your Benchmark Points</h2> + +<p>If you want your benchmark data to be available to the +<a href="../general/profiling.html">Profiler</a> all of your marked points must be set up in pairs, and +each mark point name must end with <kbd>_start</kbd> and <kbd>_end</kbd>. +Each pair of points must otherwise be named identically. Example:</p> + +<code> +$this->benchmark->mark('my_mark<kbd>_start</kbd>');<br /> +<br /> +// Some code happens here...<br /> +<br /> +$this->benchmark->mark('my_mark<kbd>_end</kbd>'); +<br /><br /> + +$this->benchmark->mark('another_mark<kbd>_start</kbd>');<br /> +<br /> +// Some more code happens here...<br /> +<br /> +$this->benchmark->mark('another_mark<kbd>_end</kbd>'); +</code> + +<p>Please read the <a href="../general/profiling.html">Profiler page</a> for more information.</p> + + +<a name="execution"></a> +<h2>Displaying Total Execution Time</h2> + +<p>If you would like to display the total elapsed time from the moment CodeIgniter starts to the moment the final output +is sent to the browser, simply place this in one of your view templates:</p> + +<code><?php echo $this->benchmark->elapsed_time();?></code> + +<p>You'll notice that it's the same function used in the examples above to calculate the time between two point, except you are +<strong>not</strong> using any parameters. When the parameters are absent, CodeIgniter does not stop the benchmark until right before the final +output is sent to the browser. It doesn't matter where you use the function call, the timer will continue to run until the very end.</p> + +<p>An alternate way to show your elapsed time in your view files is to use this pseudo-variable, if you prefer not to use the pure PHP:</p> +<code>{elapsed_time}</code> + +<p class="important"><strong>Note:</strong> If you want to benchmark anything within your controller +functions you must set your own start/end points.</p> + +<a name="memory"></a> +<h2>Displaying Memory Consumption</h2> + +<p>If your PHP installation is configured with --enable-memory-limit, you can display the amount of memory consumed by the entire +system using the following code in one of your view file:</p> + +<code><?php echo $this->benchmark->memory_usage();?></code> +<p>Note: This function can only be used in your view files. The consumption will reflect the total memory used by the entire app.</p> + +<p>An alternate way to show your memory usage in your view files is to use this pseudo-variable, if you prefer not to use the pure PHP:</p> +<code>{memory_usage}</code> + + + + +</div> +<!-- END CONTENT --> + + +<div id="footer"> +<p> +Previous Topic: <a href="../general/security.html"> Security</a> + · +<a href="#top">Top of Page</a> · +<a href="../index.html">User Guide Home</a> · +Next Topic: <a href="calendar.html">Calendaring Class</a> +</p> +<p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006-2008 · <a href="http://ellislab.com/">Ellislab, Inc.</a></p> +</div> + +</body> </html>
\ No newline at end of file |