diff --git a/content/posts/newsletter-020/index.md b/content/posts/newsletter-020/index.md index de2b2a2a9..cf2322c0a 100644 --- a/content/posts/newsletter-020/index.md +++ b/content/posts/newsletter-020/index.md @@ -410,6 +410,39 @@ includes more options for HDR tonemapping. [rafx-distill]: https://github.com/amethyst/distill [rafx-ldtk]: https://ldtk.io +### [rkyv] + +[rkyv] is a zero-copy deserialization framework for Rust. It's similar to FlatBuffers +and Cap'n Proto and can be used for data storage and messaging. + +A [benchmark][rust-serialization-benchmark] was put together to compare rkyv +against other leading serialization solutions and gather feedback and use +cases for development. A [summary and analysis][rkyv-is-faster-than] of the +results is also available. + +Version 0.5 is hot off the presses and rolls up features from the 0.4 +development cycle: + +- Derive macros can now implement `PartialEq` and `PartialOrd` between + archived and unarchived types +- Custom type bounds for serialization and deserialization can be added + with derive attributes +- Helper types like [AlignedVec][rkyv-AlignedVec] and + [Infallible][rkyv-Infallible] were introduced to improve ergonomics +- `const_generics` are now enabled by default +- Helper functions have been added to make getting root objects easier +- Several bugfixes and performance improvements + +A [feedback issue][rkyv-feedback] is still open for providing feedback on +further development. + +[rkyv]: https://github.com/djkoloski/rkyv +[rust-serialization-benchmark]: https://github.com/djkoloski/rust_serialization_benchmark +[rkyv-is-faster-than]: https://davidkoloski.me/blog/rkyv-is-faster-than +[rkyv-AlignedVec]: https://docs.rs/rkyv/0.5.0/rkyv/struct.AlignedVec.html +[rkyv-Infallible]: https://docs.rs/rkyv/0.5.0/rkyv/struct.Infallible.html +[rkyv-feedback]: https://github.com/djkoloski/rkyv/issues/67 + ### [WhatTheFrame] ![whattheframe gui](whattheframe.png)