Small maintenance release, [metosin/reitit "0.7.2"]:
> 0.7.2 (2024-09-02)
> • Speed up routes and inline it in code ring handler https://github.com/metosin/reitit/pull/693 https://github.com/metosin/reitit/pull/696
> • Fix: Can’t get descendants of classes https://github.com/metosin/reitit/issues/555
> • Faster keywordize https://github.com/metosin/reitit/pull/506
> • Updated dependencies:
>
[metosin/jsonista "0.3.10"] is available but we use "0.3.9"
> [metosin/malli "0.16.4"] is available but we use "0.16.2"
> [com.fasterxml.jackson.core/jackson-core "2.17.2"] is available but we use "2.17.1"
> [com.fasterxml.jackson.core/jackson-databind "2.17.2"] is available but we use "2.17.1"This might be a big claim but I think with this release Reitit is as fast as it could be in Clojure (without major implementation changes)
Which use case? basic routing? Ring routing?
Have you checked how the trie handles path parameters? I recall it creates a persistent array map. As the data is mostly read-only, a custom map-like (backed by a plain old hashmap) might be faster
The is an option to use (generated) records, but it's bit ugly
But, fast it is alright 💪
Ring routing I mean The difference in performance between the backing structures is negligible in relation to these gains, as ring brings with it plenty of other compute besides routing
For plain old routing we can go real crazy
But I have barely seen routing even make a dent in my performance until now