-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New JSON parsing API with significant performance optimizations (#72)
* optimize json parsing... especially when "type" is not encountered first during parsing * major optimization to slow path in json parse * use IllegalStateException instead of JsonIOException * add method ABIJSON.optimizeJson(String) * inline * minor refactor * JsonSpliterator refactors * set JsonReader nesting limit at 50; simplify reflect-config; * add comments * fix functions with no type field can't be filtered out in array parse * add ABIJSON convenience methods; parseArray now handles IOException itself; * improve test * complete merge of master into this branch * eliminate some convenience methods * add class ABIParser; remove some ABIJSON methods; remove json test file; * improve error message * add comment; code cleanup; * parseArray refactoring * improve json minimization * improve test; update workflow; * FLAG_LEGACY_DECODE no longer labeled experimental * JsonSpliterator refactoring * JsonSpliterator refactoring clean up test; * update commons-codec * clean up unnecessary conditional * eliminate redundant null check * improve metaTest1 reliability * code cleanup in tests * improve error behavior for missing type field * throw on unexpected components field * improve tupletype json validation * improve test * improve error behavior of json parser * improve error message * parseTupleType refactoring * reorder error checks * disallow chars after "tuple" and before array suffix * minor refactor * add javadoc comment * update performance note
- Loading branch information
1 parent
46a9d51
commit 93c93ea
Showing
18 changed files
with
680 additions
and
342 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.