tight_pair
daw_json_link
tight_pair | daw_json_link | |
---|---|---|
1 | 21 | |
22 | 431 | |
- | - | |
4.9 | 8.4 | |
over 2 years ago | 10 days ago | |
C++ | C++ | |
MIT License | Boost Software License 1.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tight_pair
-
Hardcore metaprogramming in the wild
There's also this doomed project with lots of metaprogramming and weird tricks where it took me more than 1500 lines of code to implement a slightly optimized compressed pair: https://github.com/Morwenn/tight_pair
daw_json_link
-
Has Boost lost its charm?
They might have good luck with https://github.com/beached/daw_json_link it has support for stuff like JSON lines and alike plus other ways that only use as much ram as their underlying data structures do as it parses directly to the user DS. Plus it has an iterator/range interface for things like arrays if needed.
-
New, fastest JSON library for C++20
We will add more benchmarks in the future, but for now you can see the comparison of daw_json_link with rapidjson. glaze is faster than daw_json_link, which is over twice as fast as rapidjson.
-
What are some cool modern libraries you enjoy using?
I am biased, but prefer https://github.com/beached/daw_json_link Super fast and you work with your native data structures without the overhead of DOM parsing/lookup
-
How to deserialise json into a C++ struct?
You can also look into https://github.com/beached/daw_json_link which claims to support nullable values in the readme.
- Show HN: DAW JSON Link
-
JSON for Modern C++ 3.11.0
The library I author does this. https://github.com/beached/daw_json_link . It's fast, GB/s too, and provides the mapping mechanism, iteration types, json lines support, event based parser, along with a non-owning json_value for when the mappings don't fit right or if one is querying. Pretty much everything but an owning JSON value as it's not something I've ever needed more than temporarily and brings a lot of complexity that is solved by using the actual C++ data structures one is eventually parsing into anyways.
-
DAW JSON Link v3, a JSON serialization/deserialization library, is released
So DAW JSON Link does have a DOM view, however it does not have a owning view. The json_value(even supports JSON Path in a limited form) type and json_raw mappings can help here. But there is no hard line between parsing view the json_value and the mappings to concrete data structures. One can mix and match.
-
Parsing JSON faster with Intel AVX-512
Is this the repo? Never saw it linked in our convo, and I’d like to give it a whirl.
-
Is there something like GSON available in C++?
daw_json_link is what you're looking for : https://github.com/beached/daw_json_link
-
Deserializing JSON Fast
Check out https://github.com/beached/daw_json_link , it provides a non-typeerased way to parse JSON straight into user-defined data structures.
What are some alternatives?
sol2 - Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation:
json_struct - json_struct is a single header only C++ library for parsing JSON directly to C++ structs and vice versa
eventpp - Event Dispatcher and callback list for C++
simdjson - Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks
unconstexpr-cpp20 - C++20 implementation of mutable constexpr expressions
json - JSON for Modern C++
cpp-sort - Sorting algorithms & related tools for C++14
Magic Enum C++ - Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code
gadgetron - Gadgetron - Medical Image Reconstruction Framework
RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API
vif - Easy, robust, and fast numerics in C++.
Crow - A Fast and Easy to use microframework for the web.