alkahest 0.1.5

Fantastic serialization library with zero-overhead serialization and zero-copy deserialization
Documentation

Alkahest - Fantastic serialization library.

crates docs actions MIT/Apache loc

Alkahest is serialization library aimed for packet writing and reading in hot path. For this purpose Alkahest avoids allocations and reads data only on demand.

Key differences of Alkahest from other popular serialization crates is zero-overhead serialization and zero-copy lazy deserialization.
For example to serialize value sequence it is not necessary to construct expensive type with allocations such as vectors.
Instead sequences are serialized directly from iterators. On deserialization an iterator is returned to the user, which does not parse any element before it is requested. Which means that data that is not accessed - not parsed either.

Alkahest works similarly to FlatBuffers,
but does not require using another language for data scheme definition and running external tool,
and supports generic schemas.

Alkahest is very early in development.

If some feature is missing, feel free to create and issue and describe what should be added.

Benchmarking

Alkahest comes with a benchmark to test against other popular serialization crates. Simply run cargo bench --all-features to see results.

License

Licensed under either of

at your option.

Contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.