A major reason Jackson codecs are faster on JDK 8 than 17 or above is the switch by JDK to use byte[] for Strings.
For Jackson this is very bad thing because it already decodes Strings into char[].
With Jackson 3.0 baseline now is JDK 17 so maybe there are ways to figure out how to undo some damage, esp. for ASCII decoding loops.