summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/libraries/benchmark.rst
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2019-01-16 16:49:35 +0100
committerAndrey Andreev <narf@devilix.net>2019-01-16 16:49:35 +0100
commitc576995304fc3609cca0b7b92d1b2cd611ec82f5 (patch)
treec8b9121cb295b56bbabe3aeaad0a3eb1f2d390bb /user_guide_src/source/libraries/benchmark.rst
parent4eaf80a6ec0b58a0adc95638153363e00ebf5378 (diff)
[ci skip] 3.1.10 release
Diffstat (limited to 'user_guide_src/source/libraries/benchmark.rst')
-rw-r--r--user_guide_src/source/libraries/benchmark.rst168
1 files changed, 0 insertions, 168 deletions
diff --git a/user_guide_src/source/libraries/benchmark.rst b/user_guide_src/source/libraries/benchmark.rst
deleted file mode 100644
index 8fc06be12..000000000
--- a/user_guide_src/source/libraries/benchmark.rst
+++ /dev/null
@@ -1,168 +0,0 @@
-##################
-Benchmarking Class
-##################
-
-CodeIgniter has a Benchmarking class that is always active, enabling the
-time difference between any two marked points to be calculated.
-
-.. note:: This class is initialized automatically by the system so there
- is no need to do it manually.
-
-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.
-
-.. contents::
- :local:
-
-.. raw:: html
-
- <div class="custom-index container"></div>
-
-*************************
-Using the Benchmark Class
-*************************
-
-The Benchmark class can be used within your
-:doc:`controllers </general/controllers>`,
-:doc:`views </general/views>`, or your :doc:`models </general/models>`.
-The process for usage is this:
-
-#. Mark a start point
-#. Mark an end point
-#. Run the "elapsed time" function to view the results
-
-Here's an example using real code::
-
- $this->benchmark->mark('code_start');
-
- // Some code happens here
-
- $this->benchmark->mark('code_end');
-
- echo $this->benchmark->elapsed_time('code_start', 'code_end');
-
-.. note:: 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::
-
- $this->benchmark->mark('dog');
-
- // Some code happens here
-
- $this->benchmark->mark('cat');
-
- // More code happens here
-
- $this->benchmark->mark('bird');
-
- echo $this->benchmark->elapsed_time('dog', 'cat');
- echo $this->benchmark->elapsed_time('cat', 'bird');
- echo $this->benchmark->elapsed_time('dog', 'bird');
-
-
-Profiling Your Benchmark Points
-===============================
-
-If you want your benchmark data to be available to the
-:doc:`Profiler </general/profiling>` all of your marked points must
-be set up in pairs, and each mark point name must end with _start and
-_end. Each pair of points must otherwise be named identically. Example::
-
- $this->benchmark->mark('my_mark_start');
-
- // Some code happens here...
-
- $this->benchmark->mark('my_mark_end');
-
- $this->benchmark->mark('another_mark_start');
-
- // Some more code happens here...
-
- $this->benchmark->mark('another_mark_end');
-
-Please read the :doc:`Profiler page </general/profiling>` for more
-information.
-
-Displaying Total Execution Time
-===============================
-
-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::
-
- <?php echo $this->benchmark->elapsed_time();?>
-
-You'll notice that it's the same function used in the examples above to
-calculate the time between two point, except you are **not** 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.
-
-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::
-
- {elapsed_time}
-
-.. note:: If you want to benchmark anything within your controller
- functions you must set your own start/end points.
-
-Displaying Memory Consumption
-=============================
-
-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::
-
- <?php echo $this->benchmark->memory_usage();?>
-
-.. note:: This function can only be used in your view files. The consumption
- will reflect the total memory used by the entire app.
-
-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::
-
- {memory_usage}
-
-
-***************
-Class Reference
-***************
-
-.. php:class:: CI_Benchmark
-
- .. php:method:: mark($name)
-
- :param string $name: the name you wish to assign to your marker
- :rtype: void
-
- Sets a benchmark marker.
-
- .. php:method:: elapsed_time([$point1 = ''[, $point2 = ''[, $decimals = 4]]])
-
- :param string $point1: a particular marked point
- :param string $point2: a particular marked point
- :param int $decimals: number of decimal places for precision
- :returns: Elapsed time
- :rtype: string
-
- Calculates and returns 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.
-
-
- .. php:method:: memory_usage()
-
- :returns: Memory usage info
- :rtype: string
-
- Simply returns the ``{memory_usage}`` marker.
-
- This permits it to be put it anywhere in a template without the memory
- being calculated until the end. The :doc:`Output Class <output>` will
- swap the real value for this variable. \ No newline at end of file