static void MRPerf() { var router = new Router(); router.Match("(/:controller(/:action(/:id)))", new Mediator()); var watch = new Stopwatch(); watch.Start(); // 1000000 for (int i = 0; i < 1000000; i++) { // var context = new HttpContextWrapperStub("controller"); var req = new RequestInfoAdapter("/controller", null, null, null, null); var routeData = router.TryMatch(req); Assert.IsNotNull(routeData); req = new RequestInfoAdapter("/controller/action/10", null, null, null, null); routeData = router.TryMatch(req); Assert.IsNotNull(routeData); req = new RequestInfoAdapter("/controller/create", null, null, null, null); routeData = router.TryMatch(req); Assert.IsNotNull(routeData); } watch.Stop(); Console.WriteLine("MR+ Execution took " + watch.ElapsedMilliseconds); }