stephenberry/glaze

Extremely fast, in memory, serialization, reflection, and RPC library for C++. JSON, BEVE, BSON, CBOR, CSV, JSONB, MessagePack, TOML, YAML, EETF

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 46 minutes ago
Added to GitGenius on November 26th, 2025
Created on July 15th, 2022
Open Issues & Pull Requests: 58 (+0)
Number of forks: 268
Total Stargazers: 2,975 (+0)
Total Subscribers: 32 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.7 hours
Mean response time: 18.9 days
90th percentile: 11.5 days
Tracked items: 611

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 79% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "compiler bug" is answered fastest, typically in about 3 hours, while "enhancement" waits about 26 hours. Only 13% of issues opened in the past year have been closed. Three people close 89% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 24
New in 7 days: 1
Closed in 7 days: 1
Avg open age: 100 days
Stale 30+ days: 18
Stale 90+ days: 10

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 1
Events in 7 days: 10

Top labels

  • enhancement (154)
  • bug (80)
  • compiler bug (26)
  • question (17)
  • documentation (11)
  • optimization (9)
  • needs more info (8)
  • long term goal (6)

Detailed Description

Glaze is an extremely fast, header-only C++ library for serialization, deserialization, reflection, and RPC operations. It supports an extensive range of data formats including JSON, BEVE, BSON, CBOR, CSV, JSONB, MessagePack, TOML, YAML, and EETF, with each format available through separate headers to minimize compilation overhead. The library achieves remarkable performance metrics, with JSON roundtrip times of 1.01 seconds and write speeds of 1396 MB/s, significantly outperforming competing libraries like simdjson, yyjson, RapidJSON, and nlohmann/json according to the repository's benchmarks.

The core strength of Glaze lies in its compile-time reflection capabilities for C++23, which allow developers to serialize and deserialize aggregate-initializable structs without writing any metadata or macros. The library recently added support for C++26 P2996 reflection, unlocking advanced capabilities such as handling non-aggregate types with constructors and virtual functions, automatic enum serialization, support for unlimited struct members beyond the previous 128-member cap, and private member access. This standardized approach works across GCC 16+, Bloomberg clang-p2996, and other compliant compilers.

Glaze requires C++23 and is tested across Clang 18+, MSVC Visual Studio 2026, and GCC 13+ on Apple, Windows, and Linux platforms, including big-endian systems via QEMU emulation. The library compiles without exceptions or runtime type information when desired, making it suitable for constrained environments. It features JSON RFC 8259 compliance with UTF-8 validation, compile-time maps with perfect hashing, powerful wrapper systems for custom read/write behavior, JSON Schema generation, partial read/write support, and streaming I/O capabilities for handling large files with bounded memory. The library is currently expanding its networking capabilities with HTTP support including REST servers, clients, and WebSockets, though this functionality remains under active development with expected API changes.