             [cheshire.core :as json]
             [clojure.string :as str]
             [reitit.core :as reitit]
-            [reitit.core :as ring]
+            [reitit.ring :as ring]
 
             [bidi.bidi :as bidi]
 
             [ataraxy.core :as ataraxy]
 
             [compojure.api.sweet :refer [api routes context ANY]]
+            [compojure.core :as compojure]
 
             [io.pedestal.http.route.definition.table :as table]
             [io.pedestal.http.route.map-tree :as map-tree]

              "schemas" [:test/route44]
              ["topics/" topic] [:test/route47 topic]
              "topics" [:test/route50]}}))

(def opensensors-compojure-api-routes
  (routes

                        #(app {:uri % :request-method :get}))
        bidi-f #(bidi/match-route opensensors-bidi-routes %)
        ataraxy-f #(ataraxy/matches opensensors-ataraxy-routes {:uri %})
        compojure-f #(opensensors-compojure-routes {:uri % :request-method :get})
        compojure-api-f #(opensensors-compojure-api-routes {:uri % :request-method :get})
        pedestal-f #(pedestal/find-route opensensors-pedestal-routes {:path-info % :request-method :get})]

    ;;  2538ns
    ;;  2065ns
    (bench!! routes true "reitit" reitit-f)

    ;;  2845ns
    ;;  2316ns
    (bench!! routes true "reitit-ring" reitit-ring-f)

    ;;  2541ns
    (bench!! routes true "pedestal" pedestal-f)

    ;;  9462ns
    (bench!! routes true "compojure-api" compojure-api-f)

    ;; 11041ns
    (bench!! routes true "compojure" compojure-f)

    ;; 16820ns
    (bench!! routes true "bidi" bidi-f)

    ;; 24134ns
    (bench!! routes true "ataraxy" ataraxy-f)))

(comment
