glaze
daw_json_link
glaze | daw_json_link | |
---|---|---|
18 | 21 | |
894 | 428 | |
- | - | |
9.9 | 8.4 | |
5 days ago | 3 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.
glaze
- [C++20] to_tuple with compile-time names
-
More helpful reflection in Glaze for GCC and Clang (MSVC please take note)
Previously in the Glaze library, you would need to write out your key names along with the member object pointers. However, as of version 1.8.0, these key names are now optional. If the keys are not provided the member variable name will be reflected for serialization/deserialization. I'm even more excited about this reflection than the previously announced pure Clang reflection, because it works well with user customization and supports non-aggregate, non-default constructible, and non-constexpr types.
-
Efficient Versatile Encoding (EVE) - A new, extremely fast binary data format
BEVE fully supports JSON messages. The Glaze C++ JSON library allows users to use the same API to encode/decode to either JSON or EVE binary. Glaze also encodes/decodes directly into your C++ structures and standard library containers, making it easy to use without additional copies.
-
How to arrange a bunch of variables into one array of bytes in memory?
I would either look at https://github.com/eyalz800/zpp_bits or https://github.com/stephenberry/glaze. FYI, glaze both supports json and binary.
- [Cpp] Nouvelle bibliothèque JSON la plus rapide pour C ++ 20
- DynaMix 2.0.0 Released
-
Full source code of Glaze is leaked. I'm curious if someone with knowledge is able to reverse engineer this techinque for enhanced model training with minial style interference.
Glaze is a software that uses artificial intelligence to create realistic images from text descriptions. It is based on Stable Diffusion, an open source framework for image synthesis using diffusion models. Glaze claims to offer enhanced model training with minimal style interference by using a technique called ControlNet1.
-
enum_name (yet another enum to/from string conversion utility >=C++11)
I ended up adopting this approach in some test code https://godbolt.org/z/GKW8Preva when I was thinking about adding automatic enum serialization/deserialization to stephenberry/glaze. But there are too many limitations.
-
Help Needed Regarding "conversion of endianness" while binary-serializing files
Alternatively, use a preexisting library for binary serialization and deserialization. If you’re trying to serialize your own stuff, glaze is a good option since it supports both json and binary serialization/deserialization. https://github.com/stephenberry/glaze
-
Glaze JSON library version 1.0 release
This parse file has some of the chunk simd processing: https://github.com/stephenberry/glaze/blob/main/include/glaze/util/parse.hpp
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?
json - A C++11 library for parsing and serializing JSON to and from a DOM container in memory.
json_struct - json_struct is a single header only C++ library for parsing JSON directly to C++ structs and vice versa
benchmarks - Some benchmarks of different languages
simdjson - Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks
dyno - Runtime polymorphism done right
json - JSON for Modern C++
polytail - Rust-like trait-based polymorphism for C++
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
AdverseCleaner - Remove adversarial noise from images
RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API
te - C++17 Run-time polymorphism (type erasure) library
Crow - A Fast and Easy to use microframework for the web.