public function run(int $iterations = 1000, bool $output = true)
	{
		foreach ($this->tests as $name => $test)
		{
			// clear memory before start
			gc_collect_cycles();

			$start     = microtime(true);
			$start_mem = $max_memory = memory_get_usage(true);

			for ($i = 0; $i < $iterations; $i ++)
			{
				$result = $test();

				$max_memory = max($max_memory, memory_get_usage(true));

				unset($result);
			}

			$this->results[$name] = [
				'time'   => microtime(true) - $start,
				'memory' => $max_memory - $start_mem,
				'n'      => $iterations,
			];
		}

		if ($output)
		{
			return $this->getReport();
		}

		return null;
	}
public function run(int $iterations = 1000, bool $output = true)
	{
		foreach ($this->tests as $name => $test)
		{
			// clear memory before start
			gc_collect_cycles();

			$start     = microtime(true);
			$start_mem = $max_memory = memory_get_usage(true);

			for ($i = 0; $i < $iterations; $i ++)
			{
				$result = $test();

				$max_memory = max($max_memory, memory_get_usage(true));

				unset($result);
			}

			$this->results[$name] = [
				'time'   => microtime(true) - $start,
				'memory' => $max_memory - $start_mem,
				'n'      => $iterations,
			];
		}

		if ($output)
		{
			return $this->getReport();
		}

		return null;
	}
public function run ( int $ iterations = 1000 , bool $ output = true ) { foreach ( $ this -> tests as $ name => $ test ) { // clear memory before start gc_collect_cycles ( ) ; $ start = microtime ( true ) ; $ start_mem = $ max_memory = memory_get_usage ( true ) ; for ( $ i = 0 ; $ i < $ iterations ; $ i ++ ) { $ result = $ test ( ) ; $ max_memory = max ( $ max_memory , memory_get_usage ( true ) ) ; unset ( $ result ) ; } $ this -> results [ $ name ] = [ 'time' => microtime ( true ) - $ start , 'memory' => $ max_memory - $ start_mem , 'n' => $ iterations , ] ; } if ( $ output ) { return $ this -> getReport ( ) ; } return null ; }
Runs through all of the tests that have been added, recording
time to execute the desired number of iterations, and the approximate
memory usage used during those iterations.

@param integer $iterations
@param boolean $output

@return string|null
Runs through all of the tests that have been added recording time to execute the desired number of iterations and the approximate memory usage used during those iterations .