-
-
Notifications
You must be signed in to change notification settings - Fork 27
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
remove SmallVec
and LazyIndexMap
from json value
#184
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #184 +/- ##
==========================================
- Coverage 88.71% 88.36% -0.36%
==========================================
Files 13 12 -1
Lines 2207 2106 -101
Branches 2207 2106 -101
==========================================
- Hits 1958 1861 -97
+ Misses 153 151 -2
+ Partials 96 94 -2
Continue to review full report in Codecov by Sentry.
|
CodSpeed Performance ReportMerging #184 will improve performances by 12.66%Comparing Summary
Benchmarks breakdown
|
This simplifies the
jiter
public API (particularly onJsonValue
) by simplifying theJsonObject
andJsonArray
types to just useArc<Vec<...>>
rather thansmallvec
in the array case andLazyIndexMap
in the object case. This hasn't affected the way that we parse or the algorithmic complexity, it's a pure simplification.At the same time we completely remove
LazyIndexMap
which attempted to be a thread-safe data structure which lazily constructed a mapping for iteration to guarantee uniqueness. I'm reasonably sure it became a "jack-of all trades, master of none" situation and there are bugs in it, maybe also performance costs.