diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /gfx/wr/peek-poke/README.md | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | gfx/wr/peek-poke/README.md | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/gfx/wr/peek-poke/README.md b/gfx/wr/peek-poke/README.md new file mode 100644 index 0000000000..1c379aa121 --- /dev/null +++ b/gfx/wr/peek-poke/README.md @@ -0,0 +1,54 @@ +# Peeks, Pokes, and Pointers + +Peek from and poke structures into byte slices. + +## Benchmark + +Below are the benchmark results of comparison between `peek-poke` and `bincode` serializing and deserializing same `struct`: +``` +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] +``` + +You can run benchmarks by running following command: +``` +cargo bench +``` + +## License +[license]: #license + +Licensed under either of +- Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) +- MIT license (http://opensource.org/licenses/MIT) + +at your option. + +see [LICENSE-APACHE](LICENSE-APACHE), [LICENSE-MIT](LICENSE-MIT) for details. + +## Contribution +Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as +defined in the Apache-2.0 license, shall be dual licensed as about, without any additional terms or conditions. |