I did some bechmarking comparing deserialization times between jackson kotlin module and marking all my data classes
as @JvmRecord and using stock jackson without kotlin module. The jvm record path clearly is faster (will try to make a GH issue with more formal claims), but this is just a lazy way of putting that the kotlin module ought to be faster… any thoughts on how to approach the same speed?
w
wrongwrong
01/17/2022, 6:59 PM
Work on speeding up deserialization is underway for release in 2.13.2.
Merging up to the comments below will improve the deserialization speed by up to 2~4 times compared to 2.13.1, as confirmed by a simple benchmark.
https://github.com/FasterXML/jackson-module-kotlin/pull/538#issuecomment-1011339275
Also, there seem to be a lot of inefficiencies in the argument parsing process in
KotlinAnnotationIntrospector
and
KotlinNamesAnnotationIntrospector
, so I'm thinking that caching these can be speed things up even more.
(However, I think it will be a long time before I can start working on this improvement.)
r
rrva
01/18/2022, 11:06 AM
Thanks! But it seems a lot of improvements are already merged for 2.13.2 ?
rrva
01/18/2022, 11:08 AM
Is there a maven artifact published somewhere to test and if so, where?
Or, if it is better i build myself, which commit is a good one to build from?