Skip to main content

Features

  • Multiple languages: Java/Python/C++/Golang/Javascript/Rust.
  • Zero-copy: cross-language out-of-band serialization inspired by pickle5 and off-heap read/write.
  • High performance: A highly-extensible JIT framework to generate serializer code at runtime in an async multi-thread way to speed serialization, providing 20-170x speed up by:
    • reduce memory access by inline variable in generated code.
    • reduce virtual method invocation by inline call in generated code.
    • reduce conditional branching.
    • reduce hash lookup.
    • binary protocols: object graph, row format and so on.

In addition to cross-language serialization, Fury also features at:

  • Drop-in replace Java serialization frameworks such as JDK/Kryo/Hessian without modifying any code, but 100x faster. It can greatly improve the efficiency of high-performance RPC calls, data transfer and object persistence.
  • JDK serialization 100% compatible, support java custom serialization writeObject/readObject/writeReplace/readResolve/readObjectNoData natively.
  • Supports shared and circular reference object serialization for golang.
  • Supports automatic object serialization for golang.