[package]
edition = "2024"
rust-version = "1.96"
name = "rustfs-erasure-codec"
version = "8.0.0"
authors = ["Darren Ldl <darrenldldev@gmail.com>"]
build = "build.rs"
exclude = [
".gitattributes",
".github",
".gitignore",
".travis.yml",
".typos.toml",
"appveyor.yml",
"bench_clean_compare.sh",
"benches",
"benchmarks",
"docs",
"fuzz",
"sage",
"scripts",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust implementation of Reed-Solomon erasure coding"
homepage = "https://github.com/houseme/reed-solomon-erasure"
documentation = "https://docs.rs/rustfs-erasure-codec"
readme = "README.md"
keywords = [
"reed-solomon",
"erasure",
]
categories = ["encoding"]
license = "MIT"
repository = "https://github.com/houseme/reed-solomon-erasure"
[features]
benchmark-metrics = []
default = ["std"]
simd-accel = [
"simd-neon",
"simd-ssse3",
"simd-avx2",
"simd-avx512",
"simd-gfni",
"simd-vsx",
]
simd-avx2 = [
"cc",
"libc",
]
simd-avx512 = [
"cc",
"libc",
]
simd-gfni = [
"cc",
"libc",
]
simd-neon = [
"cc",
"libc",
]
simd-ssse3 = [
"cc",
"libc",
]
simd-vsx = []
std = [
"parking_lot",
"rayon",
]
[lib]
name = "rustfs_erasure_codec"
path = "src/lib.rs"
[[test]]
name = "benchmark_small_files"
path = "tests/benchmark_small_files.rs"
[[test]]
name = "benchmark_smoke"
path = "tests/benchmark_smoke.rs"
[[test]]
name = "benchmark_stream_paths"
path = "tests/benchmark_stream_paths.rs"
[[test]]
name = "comprehensive_x86_64_benchmark"
path = "tests/comprehensive_x86_64_benchmark.rs"
[[test]]
name = "golden_vectors"
path = "tests/golden_vectors.rs"
[[test]]
name = "selftest"
path = "tests/selftest.rs"
[dependencies.hashlink]
version = "0.12"
default-features = false
[dependencies.libc]
version = "0.2"
optional = true
[dependencies.libm]
version = "0.2.16"
[dependencies.parking_lot]
version = "0.12.5"
optional = true
[dependencies.rayon]
version = "1.12"
optional = true
[dependencies.smallvec]
version = "1.15"
[dependencies.spin]
version = "0.12.2"
features = [
"once",
"spin_mutex",
]
default-features = false
[dev-dependencies.criterion]
version = "0.8.2"
features = ["html_reports"]
[dev-dependencies.quickcheck]
version = "1.1.0"
[dev-dependencies.rand]
version = "0.10.2"
[build-dependencies.cc]
version = "1.2"
optional = true
[build-dependencies.cfg_aliases]
version = "0.2"
[lints.clippy]
all = "warn"
undocumented_unsafe_blocks = "warn"
[lints.rust]
noop_method_call = "warn"
unsafe_op_in_unsafe_fn = "deny"
unused_lifetimes = "warn"