Skip to content
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

N20: rkyv #552

Merged
merged 2 commits into from
Apr 6, 2021
Merged
Changes from all commits
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
33 changes: 33 additions & 0 deletions content/posts/newsletter-020/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down