public function testSpeedRegexRoutes() { $start = microtime(1); $router = new Router(); $router->addRouteRule(new RouteRule("show/<d>", "show/<d>")); $end = microtime(1) - $start; echo sprintf('Initialize %8d rules at %f sec, per 1 rule %0.20f sec', 1, $end, $end / 1), PHP_EOL; $start = microtime(1); $data = serialize($router); $end = microtime(1) - $start; echo sprintf('Serialize %8d rules at %f sec, per 1 rule %0.20f sec', 1, $end, $end / 1), PHP_EOL; $start = microtime(1); unserialize($data); $end = microtime(1) - $start; echo sprintf('Unserialize %8d rules at %f sec, per 1 rule %0.20f sec', 1, $end, $end / 1), PHP_EOL; $count = 1000; $start = microtime(1); for ($i = 0; $i < $count; $i++) { $router->createUrl("show/{$i}"); } $end = microtime(1) - $start; echo sprintf('Create %8d urls at %f sec, per 1 call %0.20f sec', $count, $end, $end / $count), PHP_EOL; $start = microtime(1); for ($i = 0; $i < $count; $i++) { $router->matchUrl("show/{$i}"); } $end = microtime(1) - $start; echo sprintf('Found %8d urls at %f sec, per 1 call %0.20f sec', $count, $end, $end / $count), PHP_EOL; }