FasterXML / jackson-datatype-joda

Extension module to properly support full datatype set of Joda datetime library
Apache License 2.0
140 stars 81 forks source link

Cache formatter with offset parsed #120

Closed guidomedina closed 3 years ago

guidomedina commented 3 years ago

Cache formatter with offset parsed which can create lots of allocation when de-serialising Json objects with many date/time when the time/zone is preserved.

We have observed this is big GC hotspot, the solution is simple; to cache it, when no locale is used and the feature DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE is disabled a new formatter is always instantiated.

cowtowncoder commented 3 years ago

Sounds good, thank you for PR!

One small request: could you rebase this against either 2.11 or 2.12? master is for Jackson 3.0 which won't be released very soon but 2.12.1 patch should be out in a couple of weeks (and 2.11.5 eventually too).

guidomedina commented 3 years ago

I have rebased and change the base to origin/2.12

cowtowncoder commented 3 years ago

Looks good, happy to merge.

Just one thing: I am not 100% sure if I had asked for this before, but if not, a CLA would be needed before the first contribution (but just once so if you did send one at an earlier point that'd be fine -- same in future for other contributions). Document is here:

https://github.com/FasterXML/jackson/blob/master/contributor-agreement.pdf

and the usual way is to print it, fill & sign, scan/photo, email to info at fasterxml dot com.

Looking forward to merging this in 2.12, thank you for the contribution!