[package]
edition = "2024"
rust-version = "1.88"
name = "zipora"
version = "2.1.3"
authors = ["InfiniLabs"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance Rust implementation providing advanced data structures and compression algorithms with memory safety guarantees. Features LRU page cache, sophisticated caching layer, fiber-based concurrency, real-time compression, secure memory pools, SIMD optimizations, and complete C FFI for migration from C++."
readme = "README.md"
keywords = [
"compression",
"data-structures",
"trie",
"succinct",
"concurrency",
]
categories = [
"compression",
"data-structures",
"algorithms",
"concurrency",
"memory-management",
]
license-file = "LICENSE"
repository = "https://github.com/infinilabs/zipora"
[package.metadata.docs.rs]
features = [
"simd",
"mmap",
"zstd",
"lz4",
"serde",
"ffi",
]
all-features = true
[package.metadata.miri]
flags = [
"-Zmiri-strict-provenance",
"-Zmiri-symbolic-alignment-check",
"-Zmiri-check-number-validity",
"-Zmiri-disable-isolation",
]
exclude = [
"tests/simd_specific_tests.rs",
"tests/avx512_tests.rs",
"benchmarks/*",
]
[features]
avx512 = ["simd"]
default = [
"simd",
"mmap",
"zstd",
"serde",
]
ffi = ["dep:cbindgen"]
lz4 = ["dep:lz4_flex"]
mmap = ["dep:memmap2"]
nightly = []
serde = [
"dep:serde",
"dep:serde_json",
"dep:bincode",
]
simd = []
zstd = ["dep:zstd"]
[lib]
name = "zipora"
crate-type = [
"rlib",
"cdylib",
]
path = "src/lib.rs"
[[example]]
name = "advanced_nested_louds_demo"
path = "examples/advanced_nested_louds_demo.rs"
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[example]]
name = "compact_entry_test"
path = "examples/compact_entry_test.rs"
[[example]]
name = "config_demo"
path = "examples/config_demo.rs"
[[example]]
name = "debug_crit_bit_trie"
path = "examples/debug_crit_bit_trie.rs"
[[example]]
name = "debug_longest_prefix"
path = "examples/debug_longest_prefix.rs"
[[example]]
name = "debug_space_test"
path = "examples/debug_space_test.rs"
[[example]]
name = "debug_test"
path = "examples/debug_test.rs"
[[example]]
name = "debug_zero_byte"
path = "examples/debug_zero_byte.rs"
[[example]]
name = "dictionary_performance_demo"
path = "examples/dictionary_performance_demo.rs"
[[example]]
name = "entropy_coding_demo"
path = "examples/entropy_coding_demo.rs"
[[example]]
name = "intvec_perf_test"
path = "examples/intvec_perf_test.rs"
[[example]]
name = "memory_mapping_demo"
path = "examples/memory_mapping_demo.rs"
[[example]]
name = "optimized_rank_select_demo"
path = "examples/optimized_rank_select_demo.rs"
[[example]]
name = "prefetch_performance_demo"
path = "examples/prefetch_performance_demo.rs"
[[example]]
name = "production_benchmark"
path = "examples/production_benchmark.rs"
[[example]]
name = "secure_memory_pool_demo"
path = "examples/secure_memory_pool_demo.rs"
[[example]]
name = "simd_memory_ops_demo"
path = "examples/simd_memory_ops_demo.rs"
[[example]]
name = "simd_optimization_demo"
path = "examples/simd_optimization_demo.rs"
[[example]]
name = "sortable_fair_test"
path = "examples/sortable_fair_test.rs"
[[example]]
name = "sortable_performance_test"
path = "examples/sortable_performance_test.rs"
[[example]]
name = "specialized_containers_demo"
path = "examples/specialized_containers_demo.rs"
[[example]]
name = "succinct_demo"
path = "examples/succinct_demo.rs"
[[example]]
name = "test_algorithm_selection"
path = "examples/test_algorithm_selection.rs"
[[example]]
name = "valvec32_optimized_bench"
path = "examples/valvec32_optimized_bench.rs"
[[example]]
name = "valvec32_perf"
path = "examples/valvec32_perf.rs"
[[example]]
name = "valvec32_push_analysis"
path = "examples/valvec32_push_analysis.rs"
[[example]]
name = "valvec32_quick_test"
path = "examples/valvec32_quick_test.rs"
[[test]]
name = "compressed_sparse_trie_tests"
path = "tests/compressed_sparse_trie_tests.rs"
[[test]]
name = "container_performance_tests"
path = "tests/container_performance_tests.rs"
[[test]]
name = "container_property_tests"
path = "tests/container_property_tests.rs"
[[test]]
name = "container_safety_tests"
path = "tests/container_safety_tests.rs"
[[test]]
name = "dict_zip_basic_tests"
path = "tests/dict_zip_basic_tests.rs"
[[test]]
name = "dict_zip_comprehensive_tests"
path = "tests/dict_zip_comprehensive_tests.rs"
[[test]]
name = "dict_zip_minimal_tests"
path = "tests/dict_zip_minimal_tests.rs"
[[test]]
name = "entropy_performance_tests"
path = "tests/entropy_performance_tests.rs"
[[test]]
name = "ffi_error_handling_tests"
path = "tests/ffi_error_handling_tests.rs"
[[test]]
name = "fsa_infrastructure_tests"
path = "tests/fsa_infrastructure_tests.rs"
[[test]]
name = "fse_tests"
path = "tests/fse_tests.rs"
[[test]]
name = "hardware_verification_test"
path = "tests/hardware_verification_test.rs"
[[test]]
name = "io_streams_integration"
path = "tests/io_streams_integration.rs"
[[test]]
name = "rank_select_interleaved256_test"
path = "tests/rank_select_interleaved256_test.rs"
[[test]]
name = "secure_memory_pool_tests"
path = "tests/secure_memory_pool_tests.rs"
[[test]]
name = "security_memory_pool"
path = "tests/security_memory_pool.rs"
[[test]]
name = "security_memory_pool_simple"
path = "tests/security_memory_pool_simple.rs"
[[test]]
name = "simd_base64_tests"
path = "tests/simd_base64_tests.rs"
[[test]]
name = "simd_corruption_repro"
path = "tests/simd_corruption_repro.rs"
[[test]]
name = "simd_search_test"
path = "tests/simd_search_test.rs"
[[test]]
name = "sparse_performance_validation"
path = "tests/sparse_performance_validation.rs"
[[test]]
name = "specialized_containers_comprehensive"
path = "tests/specialized_containers_comprehensive.rs"
[[bench]]
name = "adaptive_mmap_bench"
path = "benches/adaptive_mmap_bench.rs"
[[bench]]
name = "advanced_radix_sort_bench"
path = "benches/advanced_radix_sort_bench.rs"
[[bench]]
name = "avx512_bench"
path = "benches/avx512_bench.rs"
harness = false
[[bench]]
name = "benchmark"
path = "benches/benchmark.rs"
harness = false
[[bench]]
name = "benchmark_rank_select"
path = "benches/benchmark_rank_select.rs"
harness = false
[[bench]]
name = "cache_bench"
path = "benches/cache_bench.rs"
harness = false
[[bench]]
name = "cache_oblivious_bench"
path = "benches/cache_oblivious_bench.rs"
[[bench]]
name = "cpp_impl_comparison"
path = "benches/cpp_impl_comparison.rs"
harness = false
[[bench]]
name = "dict_zip_bench"
path = "benches/dict_zip_bench.rs"
harness = false
[[bench]]
name = "dictionary_optimization_bench"
path = "benches/dictionary_optimization_bench.rs"
harness = false
[[bench]]
name = "entropy_bench"
path = "benches/entropy_bench.rs"
harness = false
[[bench]]
name = "five_level_pool_bench"
path = "benches/five_level_pool_bench.rs"
[[bench]]
name = "fsa_infrastructure_bench"
path = "benches/fsa_infrastructure_bench.rs"
[[bench]]
name = "hash_maps_bench"
path = "benches/hash_maps_bench.rs"
harness = false
[[bench]]
name = "int_vec_benchmark"
path = "benches/int_vec_benchmark.rs"
[[bench]]
name = "lru_map_bench"
path = "benches/lru_map_bench.rs"
harness = false
[[bench]]
name = "memory_performance"
path = "benches/memory_performance.rs"
[[bench]]
name = "memory_pools_bench"
path = "benches/memory_pools_bench.rs"
[[bench]]
name = "patricia_trie_bench"
path = "benches/patricia_trie_bench.rs"
[[bench]]
name = "prefetch_adaptive_bench"
path = "benches/prefetch_adaptive_bench.rs"
[[bench]]
name = "quick_prefetch_bench"
path = "benches/quick_prefetch_bench.rs"
[[bench]]
name = "rank_select_bench"
path = "benches/rank_select_bench.rs"
harness = false
[[bench]]
name = "secure_memory_pool_bench"
path = "benches/secure_memory_pool_bench.rs"
harness = false
[[bench]]
name = "separated_storage_config_bench"
path = "benches/separated_storage_config_bench.rs"
[[bench]]
name = "separated_storage_simple_bench"
path = "benches/separated_storage_simple_bench.rs"
[[bench]]
name = "simd_memory_bench"
path = "benches/simd_memory_bench.rs"
harness = false
[[bench]]
name = "simd_rank_select_bench"
path = "benches/simd_rank_select_bench.rs"
harness = false
[[bench]]
name = "simple_benchmark"
path = "benches/simple_benchmark.rs"
[[bench]]
name = "sortable_str_vec_bench"
path = "benches/sortable_str_vec_bench.rs"
[[bench]]
name = "sortable_str_vec_optimized"
path = "benches/sortable_str_vec_optimized.rs"
[[bench]]
name = "specialized_containers_bench"
path = "benches/specialized_containers_bench.rs"
harness = false
[[bench]]
name = "suffix_array_bench"
path = "benches/suffix_array_bench.rs"
[[bench]]
name = "valvec32_performance_bench"
path = "benches/valvec32_performance_bench.rs"
harness = false
[[bench]]
name = "version_sync_bench"
path = "benches/version_sync_bench.rs"
[dependencies.ahash]
version = "0.8.12"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.bincode]
version = "1.3"
optional = true
[dependencies.bitflags]
version = "2.10"
[dependencies.bytemuck]
version = "1.24"
[dependencies.cbindgen]
version = "0.29"
optional = true
[dependencies.crossbeam-utils]
version = "0.8"
[dependencies.dashmap]
version = "6.1"
[dependencies.fastrand]
version = "2.1"
[dependencies.futures]
version = "0.3"
[dependencies.libc]
version = "0.2"
[dependencies.log]
version = "0.4"
[dependencies.lz4_flex]
version = "0.12"
optional = true
[dependencies.memmap2]
version = "0.9.9"
optional = true
[dependencies.num_cpus]
version = "1.16"
[dependencies.once_cell]
version = "1.20"
[dependencies.parking_lot]
version = "0.12"
[dependencies.raw-cpuid]
version = "11"
[dependencies.rayon]
version = "1.11"
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.thread_local]
version = "1.1"
[dependencies.tokio]
version = "1.43"
features = ["full"]
[dependencies.uuid]
version = "1.19"
features = ["v4"]
[dependencies.zstd]
version = "0.13.3"
optional = true
[dev-dependencies.arbitrary]
version = "1.4"
features = ["derive"]
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.proptest]
version = "1.9"
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.tempfile]
version = "3.14"
[build-dependencies.cbindgen]
version = "0.29"
optional = true
[build-dependencies.pkg-config]
version = "0.3.27"
[profile.bench]
opt-level = 3
lto = "thin"
codegen-units = 8
debug = 0
debug-assertions = false
overflow-checks = false
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 16
debug-assertions = false
panic = "unwind"
overflow-checks = false
strip = false
[profile.shipping]
lto = "fat"
codegen-units = 1
inherits = "release"
strip = true
[profile.test]
opt-level = 1
debug = 2
debug-assertions = true
overflow-checks = true