-
-
Notifications
You must be signed in to change notification settings - Fork 799
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate feasibility of UTF8StreamJsonParser without canonicalization #994
Comments
carterkozak
added a commit
to carterkozak/jackson-core
that referenced
this issue
Apr 21, 2023
…icalization Previously, the ReaderBasedJsonParser was used instead, which is less performant when reading from an InputStream (and handling charset decoding in addition to json parsing). This commit updates the JsonFactory factory methods to respect the canonicalization configuration, where previously a canonicalizing implementaiton was always used. I have added guards around both `_symbols.addName` and `_symbols.findName` based on the existing implementation from `SmileParser`. For correctness, only the guards around `addName` are required, but we avoid unnecessary hashing by guarding both.
+1 for this; hopefully for 2.16 timeframe (I saw PR). |
carterkozak
added a commit
to carterkozak/jackson-core
that referenced
this issue
Apr 24, 2023
…icalization Previously, the ReaderBasedJsonParser was used instead, which is less performant when reading from an InputStream (and handling charset decoding in addition to json parsing). This commit updates the JsonFactory factory methods to respect the canonicalization configuration, where previously a canonicalizing implementaiton was always used. I have added guards around both `_symbols.addName` and `_symbols.findName` based on the existing implementation from `SmileParser`. For correctness, only the guards around `addName` are required, but we avoid unnecessary hashing by guarding both.
carterkozak
added a commit
to carterkozak/jackson-core
that referenced
this issue
Apr 24, 2023
…icalization Previously, the ReaderBasedJsonParser was used instead, which is less performant when reading from an InputStream (and handling charset decoding in addition to json parsing). This commit updates the JsonFactory factory methods to respect the canonicalization configuration, where previously a canonicalizing implementaiton was always used. I have added guards around both `_symbols.addName` and `_symbols.findName` based on the existing implementation from `SmileParser`. For correctness, only the guards around `addName` are required, but we avoid unnecessary hashing by guarding both.
carterkozak
added a commit
to carterkozak/jackson-core
that referenced
this issue
May 5, 2023
… performance comment
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is a more specific follow-up from one of the components of FasterXML/jackson-benchmarks#6
I'd like to determine whether this comment still holds true, initial benchmarking showed a fairly substantial improvement for small inputs, and the
UTF8StreamJsonParser
has optimizations outside of keys that I'd expect to tip the scales in its favor.jackson-core/src/main/java/com/fasterxml/jackson/core/json/ByteSourceJsonBootstrapper.java
Lines 259 to 270 in 36cd882
The text was updated successfully, but these errors were encountered: