/** * Sets up the Worst-case matching benchmark. * * This benchmark generates a randomly prefixed and suffixed route, in an attempt to thwart * any optimization. * * @param $numIterations * @param $numRoutes * @param $numArgs * * @return Benchmark */ function setupBenchmark($numIterations, $numRoutes, $numArgs) { $benchmark = new Benchmark($numIterations, 'Worst-case matching', new MarkdownPrinter()); $benchmark->setDescription(sprintf('This benchmark matches the last route and unknown route. It generates a randomly prefixed and suffixed route in an attempt to thwart any optimization. %s routes each with %s arguments.', number_format($numRoutes), $numArgs)); setupAura2($benchmark, $numRoutes, $numArgs); setupFastRoute($benchmark, $numRoutes, $numArgs); if (extension_loaded('r3')) { setupR3($benchmark, $numRoutes, $numArgs); } else { echo "R3 extension is not loaded. Skipping initialization for \"Worst-case matching\" test using R3.\n"; } setupSymfony2($benchmark, $numRoutes, $numArgs); setupSymfony2Optimized($benchmark, $numRoutes, $numArgs); setupPux($benchmark, $numRoutes, $numArgs); return $benchmark; }
/** * Sets up the First-route matching benchmark. * * This benchmark tests how quickly each router can match the first route * * @param $numIterations * @param $numRoutes * @param $numArgs * * @return Benchmark */ function setupBenchmark($numIterations, $numRoutes, $numArgs) { $benchmark = new Benchmark($numIterations, 'First route matching', new MarkdownPrinter()); $benchmark->setDescription(sprintf('This benchmark tests how quickly each router can match the first route. %s routes each with %s arguments.', number_format($numRoutes), $numArgs)); setupAura2($benchmark, $numRoutes, $numArgs); setupFastRoute($benchmark, $numRoutes, $numArgs); if (extension_loaded('r3')) { setupR3($benchmark, $numRoutes, $numArgs); } else { echo "R3 extension is not loaded. Skipping initialization for \"First route matching\" test using R3.\n"; } setupSymfony2($benchmark, $numRoutes, $numArgs); setupSymfony2Optimized($benchmark, $numRoutes, $numArgs); setupPux($benchmark, $numRoutes, $numArgs); return $benchmark; }