> endian flag: 1 when data is encoded by little endian, 0 for big endian.
Have we learned nothing? Endian swap on platforms that need it is faster than conditionals, and simpler.
Technical approach: compile-time codegen (no reflection), compact binary protocol with meta-packing, little-endian layout optimized for modern CPUs.
Unique features that other fast serializers don't have:
- Cross-language without IDL files (Rust ↔ Python/Java/Go)
- Trait object serialization (Box<dyn Trait>)
- Automatic circular reference handling
- Schema evolution without coordination
Happy to discuss design trade-offs.
Benchmarks: https://fory.apache.org/docs/benchmarks/rustHave we learned nothing? Endian swap on platforms that need it is faster than conditionals, and simpler.