Consider upgrading bindings to simdjson 0.4.0
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
Research direction
No file, test, or entry point is identified in the issue. Begin by locating the existing simdjson binding and version integration, then compare it with the 0.4.0 changes listed here; done means the bindings use 0.4.0 and the relevant tests pass.
Written by the indexing model from the issue text.
Description
Version 0.4 of simdjson is now available
Highlights
- Test coverage has been greatly improved and we have resolved many static-analysis warnings on different systems.
New features:
- We added a fast (8GB/s) minifier that works directly on JSON strings.
- We added fast (10GB/s) UTF-8 validator that works directly on strings (any strings, including non-JSON).
- The array and object elements have a constant-time size() method.
Performance:
- Performance improvements to the API (type(), get<>()).
- The parse_many function (ndjson) has been entirely reworked. It now uses a single secondary thread instead of several new threads.
- We have introduced a faster UTF-8 validation algorithm (lookup3) for all kernels (ARM, x64 SSE, x64 AVX).
System support:
- C++11 support for older compilers and systems.
- FreeBSD support (and tests).
- We support the clang front-end compiler (clangcl) under Visual Studio.
- It is now possible to target ARM platforms under Visual Studio.
- The simdjson library will never abort or print to standard output/error.
Version 0.3 of simdjson is now available
Highlights
- Multi-Document Parsing: Read a bundle of JSON documents (ndjson) 2-4x faster than doing it individually. API docs / Design Details
- Simplified API: The API has been completely revamped for ease of use, including a new JSON navigation API and fluent support for error code and exception styles of error handling with a single API. Docs
- Exact Float Parsing: Now simdjson parses floats flawlessly without any performance loss (https://github.com/simdjson/simdjson/pull/558).
Blog Post - Even Faster: The fastest parser got faster! With a shiny new UTF-8 validator
and meticulously refactored SIMD core, simdjson 0.3 is 15% faster than before, running at 2.5 GB/s (where 0.2 ran at 2.2 GB/s).
Minor Highlights
- Fallback implementation: simdjson now has a non-SIMD fallback implementation, and can run even on very old 64-bit machines.
- Automatic allocation: as part of API simplification, the parser no longer has to be preallocated-it will adjust automatically when it encounters larger files.
- Runtime selection API: We've exposed simdjson's runtime CPU detection and implementation selection as an API, so you can tell what implementation we detected and test with other implementations.
- Error handling your way: Whether you use exceptions or check error codes, simdjson lets you handle errors in your style. APIs that can fail return simdjson_result, letting you check the error code before using the result. But if you are more comfortable with exceptions, skip the error code and cast straight to T, and exceptions will be thrown automatically if an error happens. Use the same API either way!
- Error chaining: We also worked to keep non-exception error-handling short and sweet. Instead of having to check the error code after every single operation, now you can chain JSON navigation calls like looking up an object field or array element, or casting to a string, so that you only have to check the error code once at the very end.
- Dominant language
- C#
- Stars
- 687
- Forks
- 48
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from EgorBo/SimdJsonSharp
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
EgorBo/SimdJsonSharp#23 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
EgorBo/SimdJsonSharp#20 ·
-
Difficulty 5/5 Over a week Newbie friendliness 18/100
EgorBo/SimdJsonSharp#16 · 2 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
EgorBo/SimdJsonSharp#15 · 2 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
EgorBo/SimdJsonSharp#13 · 7 comments ·
All issues in EgorBo/SimdJsonSharp
Similar issues
-
type/automation type/tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
t/bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
ci-failure-cause test-failure
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
area:auth FE mvp P3
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
klasolsson81/jobbliggaren#1788 ·