A Faster Serialization Library Based on Compile-time Reflection and C++ 20 - Yu Qi - CppCon 2022

Faster serialization with StructPack, a C++20 library based on compile-time reflection, eliminating type checking for efficient object serialization and deserialization.

Key takeaways
  • StructPack is a faster serialization library based on compile-time reflection and C++20, which aims to speed up serialization and deserialization by eliminating type checking.
  • The library requires aggregative types to be serializable, and it uses a unique type ID to identify the type of an object.
  • The serialization process involves unpacking the type information, type checking, and then serializing the object.
  • The deserialization process involves unpacking the type information, type checking, and then deserializing the object.
  • StructPack uses a MD5 code to check the integrity of the serialized data and to ensure that the data is not tampered with during transmission.
  • The library is designed to be used with C++11 and later versions.
  • StructPack is non-intrusive and does not require any modifications to the existing code.
  • The library is highly customizable and can be used with a variety of data formats.
  • The library is designed to be fast and efficient, and it can serialize and deserialize data faster than other serialization libraries.
  • The library is open-source and can be used for free.