FlatBuffers IDL 支持
本页说明 Apache Fory 如何读取 FlatBuffers schema(.fbs)并将其转换为 Fory IR 以生成代码。
本页内容
- 何时应在 Fory 中使用 FlatBuffers 输入
- FlatBuffers 到 Fory 的精确映射行为
.fbs中支持的 Fory 扩展属性- 迁移注意事项与生成代码差异
为什么使用 Apache Fory
- 生成代码更符合语言习惯:Fory 会生成各语言常用风格的类/结构体,可直接作为领域对象使用。
- Java 性能更优:在 Fory 的 Java 对象序列化基准中,Fory 通常快于 FlatBuffers。
- 其他语言性能相近:序列化性能通常处于同一量级。
- 实际反序列化链路更高效:FlatBuffers 默认并不做原生对象反序列化,因此看起来更快;但当业务需要原生对象时,还需额外转换,这一步往往成为主要开销。在这种场景下,Fory 端到端反序列化通常更快。
- API 更简单:Fory 直接操作原生对象,无需反向构建 table 或手动管理 offset。
- 对象图建模能力更强:Fory 原生支持共享引用和循环引用。