Skip to content
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

Question: Comparison with other Python-JSON packages #428

Closed
MartinThoma opened this issue Sep 26, 2020 · 2 comments
Closed

Question: Comparison with other Python-JSON packages #428

MartinThoma opened this issue Sep 26, 2020 · 2 comments
Labels
question Further information is requested

Comments

@MartinThoma
Copy link

I'm currently comparing various Python packages for handling JSON (link: cpython 3.8.6 json, simplejson, ujson, simdjson, orjson, rapidjson). I'm trying to understand their differences. I would be super happy if you could help me with that by answering some questions:

  1. Is there any difference in features between the JSON packages?
  2. I compared reading/dumping a 2.3MB GeoJSON and a 631KB Twitter JSON. Is there any other thing you think I should compare for benchmarking? Do you have internal benchmarks? (I've seen the README and I think I will add a JSON with many floats :-) )
  3. Are you in contact with the other Python JSON package developers? Do you maybe share the way you benchmark or test cases?
  4. Are you in contact with JSON package developers from other languages?
  5. Are there other packages / articles for comparison I should have a look at? (I've seen your comparison with nujson)
@hugovk hugovk added the question Further information is requested label Sep 26, 2020
@hugovk
Copy link
Member

hugovk commented Sep 26, 2020

Hello! UltraJSON didn't have any releases for a long time, 2016-2020. It's now been revived but is probably best considered to be in maintenance mode, although PRs to add new features will definitely be considered. Recent additions have been precompiled wheels for many platforms (#219, #421).

  1. Yes. UltraJSON aims to be on par with the stdlib json library, and for example no longer has generic serialisation of objects/iterables (see 2.0: Removed generic serialization of objects/iterables #374) like some other JSON libraries may do.
  2. The benchmarking on the README is also done on the CI for all merges to master. It runs this script https://github.com/ultrajson/ultrajson/blob/master/tests/benchmark.py and you can see the most recent results here: https://github.com/ultrajson/ultrajson/runs/1138506789. Additions welcome!
  3. I'm personally not in contact, and the UltraJSON benchmarking and tests are shared in this repo.
  4. The benchmarking is done against nujson, orjson and simplejson.

@MartinThoma
Copy link
Author

THank you for your answer, I appreciate it 🤗

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants