* This example shows using multiple stop watches in the same program. * If we want to use multiple watches, we must provide unique name all of them. * Steps involved are: * - Add watches by any of following methods * - Call `addWatch` multiple times, with name of watch as parameter, or * - Call `addWatches` and pass an array of name of watches as parameter. * - Further operation is same as in `simplewatch` and `pauseDemo` example. However this time, we need to pass * watch name to all the methods. */ // Load Composer auto loader require_once "../vendor/autoload.php"; use Phpreboot\Stopwatch\StopWatch; // Create an instance of StopWatch $stopWatch = new StopWatch(); // Initialize the watches. $stopWatch->addWatches(["a", "b", "c"]); // We could also use '$stopWatch->addWatch("name")' individually. $operatorA = 0; $operatorB = 0; $operatorC = 0; for ($i = 1; $i <= 10; $i++) { // Following code block represent one operation, which needs to be measured. $stopWatch->start("a"); for ($a = 0; $a < 10000; $a++) { $operatorA++; } $stopWatch->pause("a"); // Following code block represent another operation, which needs to be measured separately. $stopWatch->start("b"); for ($b = 0; $b < 10000; $b++) { $operatorB++;
<?php namespace Phpreboot\performance\basic\quote; include_once 'vendor/autoload.php'; use Phpreboot\Stopwatch\StopWatch; // Create an instance of StopWatch $stopWatch = new StopWatch(); // Initialize the watches. $stopWatch->addWatches(["single", "double"]); $stopWatch->start("single"); $nameSingleQuote = 'Kapil Sharma'; $stopWatch->stop("single"); $stopWatch->start("double"); $nameDoubleQuote = "Kapil Sharma"; $stopWatch->stop("double"); printf("Single quotes took %f seconds \n", $stopWatch->getTime("single")); printf("Double quotes took %f seconds \n", $stopWatch->getTime("double"));
/** * @group Phpreboot_Stopwatch_StopWatch_addWatches */ public function testAddWatchesWithDuplicateNamesReturnsCorrectStatus() { $this->assertSame(array(true, false), $this->stopWatch->addWatches(array('name', 'name')), "addWatches with duplicate name do not returns correct message."); }