6 releases
| 0.2.3 | Dec 22, 2025 |
|---|---|
| 0.2.2 | Dec 17, 2025 |
| 0.2.0 | Nov 25, 2025 |
| 0.1.1 | Oct 10, 2025 |
#70 in #serializer-deserializer
200,745 downloads per month
Used in 43 crates
(via wincode)
74KB
1.5K
SLoC
Derive macros for SchemaWrite and SchemaRead.
Note using this on packed structs is UB.
Refer to the wincode crate for examples.
wincode
Fast, bincode‑compatible serializer/deserializer focused on in‑place initialization and direct memory writes.
Quickstart
wincode traits are implemented for many built-in types (like Vec, integers, etc.).
You'll most likely want to start by using wincode on your own struct types, which can be done with the derive macros.
#[derive(SchemaWrite, SchemaRead)]
struct MyStruct {
data: Vec<u64>,
win: bool,
}
let val = MyStruct { data: vec![1,2,3], win: true };
assert_eq!(wincode::serialize(&val).unwrap(), bincode::serialize(&val).unwrap());
See the docs for more details.
Benchmarks
Run benchmarks comparing wincode against bincode:
cargo bench --features derive
Dependencies
~0.5–1MB
~21K SLoC