Skip to content

N20: rkyv #552

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 6, 2021
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions content/posts/newsletter-020/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,34 @@ 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)
Expand Down