Desse aims to be an ultra fast binary serialization and deserialization library for Rust. Throughout the whole
development, performance will take priority over all other things. Every change will be benchmarked rigorously and
will not be allowed if it degrades performance without sufficient feature addition.
Below is a high level development plan for desse crate:
Serialization and deserialization ofstructs with constant size (known at compile time) usingderivemacro.Serialization and deserialization ofenums with constant size (known at compile time) usingderivemacro.Add support forno_stdenvironments.ImplementDessetrait forcharandbool.Addserialize_intofunction toDessetrait for in-place serialization (less copying of bytes).
- Develop a backwards compatible binary encoding scheme (implement as an optional feature).
- Support for user defined encoding scheme.
Better error handling during deserialization.Desse::deserialize_from()now returnsResult.
- Serialization and deserialization of
structs andenums with generics (generics should either beconstor should implementDessetrait).
- Serialization and deserialization of dynamically allocated types, such as,
String,Vec, etc. (implement as an optional/default feature).
- Bug fixes and stabilization of APIs.
- Release as LTS.