[package]
name = "compressed-intvec"
version = "0.6.0"
edition = "2024"
authors = ["Luca Lombardo"]
description = "Space-efficient integer vectors with fixed-width, variable-length, and sequence-oriented encodings."
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/lukefleed/compressed-intvec"
keywords = ["compression", "vector", "integer", "data-structures", "succinct"]
categories = ["data-structures", "compression"]
exclude = [".github/*", "images/*", "python/*"]
[dependencies]
atomic = "0.5.3"
bytemuck = { version = "1.23.1", optional = true }
common_traits = "0.12.0"
dsi-bitstream = { version = "0.9.0", features = ["mem_dbg", "implied"] }
mem_dbg = "0.4.0"
num-traits = "0.2.19"
parking_lot = "0.12.4"
rayon = { version = "1.10.0", optional = true }
serde = { version = "1.0.219", features = ["derive"], optional = true }
[dev-dependencies]
simple-sds-sbwt = "0.3.2"
bincode = "1.3.3"
criterion = { version = "0.5.1", features = ["html_reports"] }
rand_distr = "0.6.0"
csv = "1.3.1"
serde_json = "1.0.141"
sux = "0.13.1"
succinct = "0.5.2"
value-traits = "0.2.1"
rand = "0.10.0"
iai-callgrind = "0.16"
[[bench]]
name = "bench_random_access"
harness = false
path = "benches/fixed/bench_random_access.rs"
[[bench]]
name = "bench_access_patterns"
harness = false
path = "benches/fixed/bench_access_patterns.rs"
[[bench]]
name = "bench_sequential_ops"
harness = false
path = "benches/fixed/bench_sequential_ops.rs"
[[bench]]
name = "bench_mutable_ops"
harness = false
path = "benches/fixed/bench_mutable_ops.rs"
[[bench]]
name = "bench_atomic"
harness = false
path = "benches/fixed/bench_atomic.rs"
[[bench]]
name = "bench_iter_access"
harness = false
path = "benches/variable/bench_iter_access.rs"
[[bench]]
name = "bench_var_sequential_ops"
harness = false
path = "benches/variable/bench_sequential_ops.rs"
[[bench]]
name = "bench_construction"
harness = false
path = "benches/variable/bench_construction.rs"
[[bench]]
name = "bench_var_random_access"
harness = false
path = "benches/variable/bench_random_access.rs"
[[bench]]
name = "bench_var_parallel"
harness = false
path = "benches/variable/bench_parallel.rs"
[[bench]]
name = "bench_size"
harness = false
path = "benches/bench_size.rs"
[[bench]]
name = "bench_lock_free_access"
harness = false
path = "benches/fixed/bench_lock_free_access.rs"
[[bench]]
name = "bench_locked_access"
harness = false
path = "benches/fixed/bench_locked_access.rs"
[[bench]]
name = "bench_random_write"
harness = false
path = "benches/fixed/bench_random_write.rs"
[[bench]]
name = "bench_seq_access_patterns"
harness = false
path = "benches/seq/bench_seq_access_patterns.rs"
[[bench]]
name = "bench_seq_readers"
harness = false
path = "benches/seq/bench_seq_readers.rs"
[[bench]]
name = "bench_seq_parallel"
harness = false
path = "benches/seq/bench_seq_parallel.rs"
required-features = ["parallel"]
[[bench]]
name = "bench_serde"
harness = false
path = "benches/bench_serde.rs"
required-features = ["serde"]
[[bench]]
name = "iai_fixed"
harness = false
path = "benches/iai_fixed.rs"
[[bench]]
name = "iai_variable"
harness = false
path = "benches/iai_variable.rs"
[[bench]]
name = "iai_seq"
harness = false
path = "benches/iai_seq.rs"
[features]
default = ["parallel"]
parallel = ["rayon"]
serde = ["dep:serde"]
arch-dependent-storable = []
[profile.release]
opt-level = 3
debug = true
overflow-checks = false
[profile.bench]
opt-level = 3
lto = "fat"
debug = false
codegen-units = 1