[package]
edition = "2024"
rust-version = "1.95"
name = "rustfs-erasure-codec"
version = "7.0.0"
authors = ["Darren Ldl <darrenldldev@gmail.com>"]
build = "build.rs"
exclude = [
"appveyor.yml",
".travis.yml",
]
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 = [
"cc",
"libc",
]
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 = "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"
[[bench]]
name = "bandwidth"
path = "benches/bandwidth.rs"
harness = false
[[bench]]
name = "galois_backend"
path = "benches/galois_backend.rs"
harness = false
[[bench]]
name = "throughput_matrix"
path = "benches/throughput_matrix.rs"
harness = false
[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.0"
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.1"
[build-dependencies.cc]
version = "1.2"
optional = true