diff --git a/system/libraries/Benchmark.php b/system/libraries/Benchmark.php
index d8dd903..feedbf5 100644
--- a/system/libraries/Benchmark.php
+++ b/system/libraries/Benchmark.php
@@ -86,6 +86,38 @@
 	// --------------------------------------------------------------------
 
 	/**
+	 * Auto Profiler
+	 *
+	 * This function cycles through the entire array of mark points and
+	 * matches any two points that are named identially (ending in "_start"
+	 * and "_end" respectively).  It then compiles the execution times for
+	 * all points and returns it as an array
+	 *
+	 * @access	public
+	 * @return	array
+	 */
+ 	function auto_profiler()
+ 	{  		
+ 		$marker_keys = array_reverse(array_keys($this->marker));
+ 
+  		$times = array();
+ 		foreach ($marker_keys as $val)
+ 		{
+ 			if (preg_match("/(.+?)_start/i", $val, $match))
+ 			{ 			
+ 				if (isset($this->marker[$match[1].'_end']))
+ 				{
+ 					$times[$match[1]] = $this->elapsed_time($val, $match[1].'_end');
+ 				}
+ 			}
+ 		}
+ 	
+ 		return $times;
+ 	}
+ 	
+	// --------------------------------------------------------------------
+
+	/**
 	 * Memory Usage
 	 *
 	 * This function returns the {memory_usage} pseudo-variable.