reitit

https://cljdoc.org/d/metosin/reitit/ https://github.com/metosin/reitit/
dharrigan 2020-05-18T07:49:10.428100Z

Found a problem with sieparri and reitit, it's including slf4j-nop as a dep, which is forcing an implementation on the consumers of the library. Raised an issue on github.

fmnoise 2020-05-18T08:20:41.428400Z

Caused by: java.lang.UnsupportedClassVersionError: reitit/Trie has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

fmnoise 2020-05-18T08:22:15.428900Z

first time seeing this after attempt to update to reitit 0.5

ikitommi 2020-05-18T10:55:24.430600Z

@dharrigan oh my. for some reason, the sieppari lein config thinks that all :dev dependencies should be packaged too.

ikitommi 2020-05-18T10:55:40.431Z

fixed that.

dharrigan 2020-05-18T10:55:58.431400Z

fantastic news! thank you! 🙂

ikitommi 2020-05-18T10:56:55.432Z

@fmnoise will fix that today, jsonista deployed with java11. thanks for reporting.

1
ikitommi 2020-05-18T12:31:07.432500Z

[metosin/reitit "0.5.1"] should have fixed both problems.

🦜 2
valerauko 2020-05-18T13:43:27.432800Z

hey @ikitommi this is just a shoutout of huge thanks for pohjavirta

valerauko 2020-05-18T13:44:04.433800Z

i'm trying my hands at doing something netty from the ground up and the ways you squeeze out so much performance, it's a great lesson

valerauko 2020-05-18T13:44:22.434200Z

currently at Requests/sec: 187940.22 (though i'm doing nothing dynamic like your json encoding example so i've got ways to go)

ikitommi 2020-05-18T15:25:54.436300Z

thanks @vale! perf tuning is kinda fun, there is usually room to improve, a lot. Pull back if you find anything silly in pohjavirta.

👍 1
💯 1
valerauko 2020-05-18T16:20:45.437100Z

i still don't understand how you can get down to like 100us... the best i can reach is like 500us and then i'm lucky

valerauko 2020-05-18T16:25:20.438Z

what are good places to look for improvements at such timescales?

athomasoriginal 2020-05-18T16:27:31.439500Z

Just tested the front end fix to push-state! in 0.5.1 . Thanks for this! I circled around why I couldnt call push-state! in the on-navigate for a good several hours. Saved me having to come back to this and dig into the source…I should do this anyways though.

orestis 2020-05-18T17:43:50.440400Z

Is sieppari only meant to be used for web interceptors? I see that some keys are hardcoded to be :request which sounds web-related. (Context: I want to add interceptor-like support for a state management lib)

2020-05-18T19:32:15.441600Z

@orestis It was designed with that in mind but there's an alternate function that works more generally. Use sieppari.core/execute-context which will operate fully on the context, doesn't use request and response, and doesn't require a handler at the end of the initial queue.

orestis 2020-05-18T19:47:57.442300Z

Ah super - thanks for clarifying!