←back to thread

66 points chaokunyang | 1 comments | | HN request time: 0s | source

Serialization framework with some interesting numbers: 10-20x faster on nested objects than json/protobuf.

  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/rust
Show context
mlhamel ◴[] No.45737888[source]
I'm wondering how do you share you shared types between languages if there's no schema ?
replies(4): >>45738116 #>>45738121 #>>45738151 #>>45738575 #
fabiensanglard ◴[] No.45738151[source]
Not explaining this case makes me wonder how much this lib is actually used in production. This was also the first question I asked myself.
replies(1): >>45742372 #
1. chaokunyang ◴[] No.45742372[source]
This is our first release for Fory Rust. The Java and Python bindings has been used widely. You can see from https://fory.apache.org/user