From 67ad04fb8679be8339f974a6c884bc19d1c68c82 Mon Sep 17 00:00:00 2001 From: bung87 Date: Thu, 18 Jan 2024 00:14:12 +0800 Subject: [PATCH] add case of router for benchmark --- benchmark/trouter.nim | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/benchmark/trouter.nim b/benchmark/trouter.nim index e6b88a3..5d362b2 100644 --- a/benchmark/trouter.nim +++ b/benchmark/trouter.nim @@ -38,3 +38,26 @@ block: doAssert r.route(HttpGet, r1).status == routingSuccess doAssert r.route(HttpGet, r2).status == routingSuccess echo "nest router:", cpuTime() - t2 + +block caseOf: + proc tCase(meth: HttpMethod, path: string): bool = + case meth + of HttpGet: + if path == "/": + return true + else: + let id1 = path[1 ..< 2] + let id2 = path[4 ..< 5] + return true + of HttpPost: + discard + else: + discard + + const r1 = "/" + const r2 = "/p1/p2" + let t2 = cpuTime() + for i in 1..1000: + doAssert tCase(HttpGet, r1) == true + doAssert tCase(HttpGet, r2) == true + echo "case router:", cpuTime() - t2 \ No newline at end of file