-
Notifications
You must be signed in to change notification settings - Fork 153
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
Suggestion: prove equivalence with clojure.data.json #166
Comments
Perhaps Cheshire can add more perf tweaks to always stay ahead of pure Clojure. /cc @nilern |
Seems like there are some fixed costs that slow down small parses... |
From @slipset:
|
There seems to be a startup cost in using Jackson that jsonista seems to avoid. It might be that being able to maintain some sort of Jackson context in your app, and pass it to the various parse fns could speed things up quite a bit. It seems though that most of the cost comes from |
It is a known issue that the 3 arity version of |
I would guess the cost is in I don't think the varargs |
Hi!
It'd be interesting to prove that serialization/deserialization is analog to that of clojure.data.json, so that existing applications can switch implementations without fearing that values will suddenly have a slightly different format, etc.
jsonista does a cheshire (and cheshire-only) comparison here:
https://github.com/metosin/jsonista/blob/211306f04bb15d7232b536cf6c6d8ecfeae0512d/test/jsonista/core_test.clj#L56
It could be desirable to something like that, but comparing data.json<->cheshire (obviously, transitively one could also make an educated data.json<->cheshire<->jsonista comparison).
I see that c.d.j is already exercised here https://github.com/dakrone/cheshire/blob/4525b23da1c17decba363202402a8a195d21705f/benchmarks/cheshire/test/benchmark.clj , so it might be easy enough to piggy back on that test, adding some extra assertions.
Thanks - V
The text was updated successfully, but these errors were encountered: