#byte #serialization #buffer #deserialize #data #slice #peek

peek-poke

一种用于将数据序列化和反序列化到/从字节缓冲区的机制,用于WebRender

1 个不稳定版本

0.2.0 2020年1月15日

#1315 in 解析器实现

Download history 238/week @ 2023-11-23 120/week @ 2023-11-30 183/week @ 2023-12-07 263/week @ 2023-12-14 236/week @ 2023-12-21 108/week @ 2023-12-28 164/week @ 2024-01-04 242/week @ 2024-01-11 207/week @ 2024-01-18 141/week @ 2024-01-25 121/week @ 2024-02-01 254/week @ 2024-02-08 290/week @ 2024-02-15 218/week @ 2024-02-22 236/week @ 2024-02-29 203/week @ 2024-03-07

980 每月下载量
15 个crate中使用了(通过 webrender_api

MIT/Apache

25KB
439

Peeks,Pokes和Pointers

从字节切片中peek和poke结构。

基准测试

以下是在相同结构体序列化和反序列化方面比较 peek-pokebincode 的基准测试结果。

struct MyPeekPokeStruct {
    a: u8,
    b: u16,
    c: MyPeekPokeEnum,
    d: Option<usize>,
}

enum MyPeekPokeEnum {
    Variant1,
    Variant2(u16),
}
Benchmarking struct::serialize/peek_poke::poke_into: Collecting 100 samples in                                                                                struct::serialize/peek_poke::poke_into
                        time:   [2.7267 ns 2.7321 ns 2.7380 ns]

Benchmarking struct::serialize/bincode::serialize: Collecting 100 samples in est                                                                                struct::serialize/bincode::serialize
                        time:   [31.264 ns 31.326 ns 31.389 ns]

Benchmarking struct::deserialize/peek_poke::peek_from: Collecting 100 samples                                                                                 struct::deserialize/peek_poke::peek_from
                        time:   [5.3544 ns 5.3672 ns 5.3817 ns]

Benchmarking struct::deserialize/bincode::deserialize: Collecting 100 samples in                                                                                struct::deserialize/bincode::deserialize
                        time:   [25.155 ns 26.439 ns 27.661 ns]

您可以通过运行以下命令来运行基准测试

cargo bench

许可证

许可协议为以下之一

任选其一。

有关详细信息,请参阅 LICENSE-APACHELICENSE-MIT

贡献

除非您明确表示,否则您有意提交的任何贡献,根据Apache-2.0许可证的定义,均应双许可,不附加任何额外条款或条件。

依赖项

~0–370KB