diff options
author | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
---|---|---|
committer | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
commit | a990de90fe41456a23e58bd087d2f107d321f3a1 (patch) | |
tree | 15afc392522a9e85dc3332235e311b7d39352ea9 /vendor/simd-adler32/README.md | |
parent | 3d48cd3f81164bbfc1a755dc1d4a9a02f98c8ddd (diff) | |
download | fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.tar.xz fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.zip |
Deleted vendor folder
Diffstat (limited to 'vendor/simd-adler32/README.md')
-rw-r--r-- | vendor/simd-adler32/README.md | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/vendor/simd-adler32/README.md b/vendor/simd-adler32/README.md deleted file mode 100644 index 4eeec46..0000000 --- a/vendor/simd-adler32/README.md +++ /dev/null @@ -1,131 +0,0 @@ -<h1 align="center">simd-adler32</h1> -<p align="center"> - <a href="https://docs.rs/simd-adler32"> - <img alt="docs.rs badge" src="https://img.shields.io/docsrs/simd-adler32?style=flat-square"> - </a> - <a href="https://crates.io/crates/simd-adler32"> - <img alt="crates.io badge" src="https://img.shields.io/crates/v/simd-adler32?style=flat-square"> - </a> - <a href="https://github.com/mcountryman/simd-adler32/blob/main/LICENSE.md"> - <img alt="mit license badge" src="https://img.shields.io/github/license/mcountryman/simd-adler32?style=flat-square"> - </a> -</p> - -A SIMD-accelerated Adler-32 hash algorithm implementation. - -## Features - -- No dependencies -- Support `no_std` (with `default-features = false`) -- Runtime CPU feature detection (when `std` enabled) -- Blazing fast performance on as many targets as possible (currently only x86 and x86_64) -- Default to scalar implementation when simd not available - -## Quick start - -> Cargo.toml - -```toml -[dependencies] -simd-adler32 = "*" -``` - -> example.rs - -```rust -use simd_adler32::Adler32; - -let mut adler = Adler32::new(); -adler.write(b"rust is pretty cool, man"); -let hash = adler.finish(); - -println!("{}", hash); -// 1921255656 -``` - -## Support - -**CPU Features** - -| impl | arch | feature | -| ---- | ---------------- | ------- | -| ✅ | `x86`, `x86_64` | avx512 | -| ✅ | `x86`, `x86_64` | avx2 | -| ✅ | `x86`, `x86_64` | ssse3 | -| ✅ | `x86`, `x86_64` | sse2 | -| 🚧 | `arm`, `aarch64` | neon | -| ✅ | `wasm32` | simd128 | - -**MSRV** `1.36.0`\*\* - -Minimum supported rust version is tested before a new version is published. [**] Feature -`const-generics` needs to disabled to build on rustc versions `<1.51` which can be done -by updating your dependency definition to the following. - -> Cargo.toml - -```toml -[dependencies] -simd-adler32 = { version "*", default-features = false, features = ["std"] } -``` - -## Performance - -Benchmarks listed display number of randomly generated bytes (10k / 100k) and library -name. Benchmarks sources can be found under the [bench](/bench) directory. Crates used for -comparison are [adler](https://crates.io/crates/adler) and -[adler32](https://crates.io/crates/adler32). - -> Windows 10 Pro - Intel i5-8300H @ 2.30GHz - -| name | avg. time | avg. thrpt | -| ----------------------- | --------------- | ------------------ | -| **10k/simd-adler32** | **212.61 ns** | **43.805 GiB/s** | -| 10k/wuffs | 3843 ns | 2.63 GiB/s\* | -| 10k/adler32 | 4.8084 us | 1.9369 GiB/s | -| 10k/adler | 17.979 us | 530.43 MiB/s | -| ----------------------- | --------------- | ------------------ | -| **100k/simd-adler32** | **2.7951 us** | **33.320 GiB/s** | -| 100k/wuffs | 34733 ns | 2.6814 GiB/s\* | -| 100k/adler32 | 48.488 us | 1.9207 GiB/s | -| 100k/adler | 178.36 us | 534.69 MiB/s | - -\* wuffs ran using mingw64/gcc, ran with `wuffs bench -ccompilers=gcc -reps=1 -iterscale=300 std/adler32`. - -> MacBookPro16,1 - Intel i9-9880H CPU @ 2.30GHz - -| name | avg. time | avg. thrpt | -| ----------------------- | --------------- | ------------------ | -| **10k/simd-adler32** | **200.37 ns** | **46.480 GiB/s** | -| 10k/adler32 | 4.1516 us | 2.2433 GiB/s | -| 10k/adler | 10.220 us | 933.15 MiB/s | -| ----------------------- | --------------- | ------------------ | -| **100k/simd-adler32** | **2.3282 us** | **40.003 GiB/s** | -| 100k/adler32 | 41.130 us | 2.2643 GiB/s | -| 100k/adler | 83.776 us | 534.69 MiB/s | - -## Safety - -This crate contains a significant amount of `unsafe` code due to the requirement of `unsafe` -for simd intrinsics. Fuzzing is done on release and debug builds prior to publishing via -`afl`. Fuzzy tests can be found under [fuzz](/fuzz) the directory. - -## Resources - -- [LICENSE](./LICENSE.md) - MIT -- [CHANGELOG](./CHANGELOG.md) - -## Credits - -Thank you to the contributors of the following projects. - -- [adler](https://github.com/jonas-schievink/adler) -- [adler32](https://github.com/remram44/adler32-rs) -- [crc32fast](https://github.com/srijs/rust-crc32fast) -- [wuffs](https://github.com/google/wuffs) -- [chromium](https://bugs.chromium.org/p/chromium/issues/detail?id=762564) -- [zlib](https://zlib.net/) - -## Contributing - -Feel free to submit a issue or pull request. :smile: |