1
0
Fork 0
mirror of https://github.com/azalea-rs/simdnbt.git synced 2025-08-02 15:36:03 +00:00
an unnecessarily fast nbt decoder
Find a file
2023-08-27 22:55:04 -05:00
benches simplify some code 2023-08-27 22:55:04 -05:00
src simplify some code 2023-08-27 22:55:04 -05:00
tests simplify some code 2023-08-27 22:55:04 -05:00
.gitignore Initial commit 2023-08-27 02:50:41 -05:00
Cargo.toml simplify some code 2023-08-27 22:55:04 -05:00
README.md Update README.md 2023-08-27 02:55:07 -05:00

simdnbt

an unnecessarily fast nbt decoder. like seriously you probably don't need this unless you're trying to win benchmarks.

at the moment, simdnbt does not actually make use of simd instructions (the name is a parody of simdjson). there's one place where i know i could take advantage of simd but it just hasn't been implemented yet (swapping the endianness of integer arrays).

simdnbt might be the fastest nbt decoder currently in existence. however to achieve this silly speed, it takes a couple of shortcuts:

  1. it requires a reference to the original data (to avoid cloning)
  2. it doesn't validate/decode the mutf-8 strings at decode-time

here's a benchmark with the two other fastest nbt crates (azalea-nbt was also made by me): simdnbt is ~3x faster than the second fastest nbt crate

take this with a grain of salt as they're not all doing the same work. regardless, you can still see it's very fast.