| Apache Fory's C++ serialization is our latest support for c++ Highlights: 1. Automatic idiomatic cross-language serializaton, no adapter layer, serialize in C++, deserialize in Python. 2. Polymorphism via smart pointers. Fory detects std::is_polymorphic<T> automatically. Serialize through a shared_ptr<Animal>, get a Dog* back — zero boilerplate. 3. Circular/shared reference tracking. Shared objects are serialized once and encoded as back-references. Cycles don't overflow the stack. 4. Schema evolution. Compatible mode matches fields by name/id, not position. Add fields on one side without coordinating deployments. 5. IDL compiler (optional). `foryc ecommerce.fdl --cpp_out ./gen` generates idiomatic code for every language from one schema. Supports union →
std::variant, optional, ref → std::shared_ptr, weak refs, lists, maps. 6. Row format. O(1) random field access by index — useful for analytics workloads where you only read a few fields per record. Throughput vs. Protobuf: up to 12x depending on workload. GitHub: https://github.com/apache/fory C++ docs: https://fory.apache.org/docs/guide/cpp I’d really like critical feedback on API ergonomics, and production fit. |