Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. YAS

YAS

C++7.1.0

A high-performance, header-only C++11 serialization library designed as a faster alternative to boost.serialization.

GitHubGitHub
794 stars101 forks0 contributors

What is YAS?

YAS is a header-only C++ serialization library that enables fast and efficient conversion of C++ objects to and from binary, text, and JSON formats. It solves the problem of slow serialization performance in existing libraries like boost.serialization, offering a lightweight and portable alternative for C++ developers.

Target Audience

C++ developers working on performance-critical applications that require efficient object serialization for data storage, network communication, or inter-process communication.

Value Proposition

Developers choose YAS for its benchmark-proven speed advantages over boost.serialization, its header-only design for easy integration, and its comprehensive support for modern C++ types without external dependencies.

Overview

Yet Another Serialization

Use Cases

Best For

  • Replacing boost.serialization in performance-sensitive C++ projects
  • Serializing complex C++ data structures to binary format for storage
  • Implementing fast network communication protocols in C++
  • Creating portable serialization that works across different endian architectures
  • Adding JSON serialization support to C++ applications
  • Working with Boost container types that need serialization

Not Ideal For

  • Projects requiring fully standards-compliant JSON for strict interoperability
  • Systems needing built-in object versioning for schema evolution
  • Teams preferring established libraries with mature tooling like Protocol Buffers

Pros & Cons

Pros

Header-Only Integration

YAS is a header-only library, making it easy to integrate without separate compilation or linking steps, as emphasized in the README.

Benchmarked Speed

It was created to address performance limitations of boost.serialization and is benchmarked as significantly faster, with links to performance tests provided.

Multi-Format Support

Supports binary, text, and JSON archives, allowing flexibility for different use cases like storage or network communication.

Endian-Independent Portability

Binary archives are endian-independent, ensuring data portability across different architectures without manual conversion.

Extensive Type Coverage

Serializes a wide range of std, Boost, and Qt types, reducing the need for custom serialization code for common containers.

Cons

Non-Standard JSON

The JSON archive format does not fully comply with JSON standards, which could cause issues in systems requiring strict validation or interoperability.

Missing Advanced Features

Lacks object versioning and support for formats like protobuf or MessagePack, as acknowledged in the TODO list, limiting its use in evolving systems.

Macro-Based API

Relies on macros like YAS_OBJECT for serialization, which some developers find less intuitive and more prone to errors compared to template-based approaches.

Sparse Documentation

While examples are provided, comprehensive documentation is limited, potentially increasing the learning curve for complex use cases.

Open Source Alternative To

YAS is an open-source alternative to the following products:

b
boost.serialization

boost.serialization is a C++ library that provides serialization of C++ data structures to various formats including text, XML, and binary for storage or transmission.

Frequently Asked Questions

Quick Stats

Stars794
Forks101
Contributors0
Open Issues12
Last commit1 year ago
CreatedSince 2012

Tags

#data-persistence#binary-serialization#c-plus-plus-11#c-plus-plus#boost-alternative#json-serialization#header-only-library#cplusplus#serialization#cross-platform#performance

Built With

C
C++11

Included in

C/C++70.6k
Auto-fetched 1 day ago

Related Projects

ProtoBufProtoBuf

Protocol Buffers - Google's data interchange format

Stars71,749
Forks16,235
Last commit1 day ago
FlatBuffersFlatBuffers

FlatBuffers: Memory Efficient Serialization Library

Stars26,365
Forks3,625
Last commit10 days ago
Cap'n ProtoCap'n Proto

Cap'n Proto serialization/RPC system - core tools and C++ library

Stars13,163
Forks1,071
Last commit2 days ago
nanopbnanopb

Protocol Buffers with small code size

Stars5,530
Forks1,036
Last commit28 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub