Cargo Features
divANS has no features set by default.
[dependencies]
divans = { version = "0.0.1", features = ["simd", "avx2", "no-inline", "safe", "avoid-divide", "findspeed", "billing", "blend", "debug_entropy", "portable-simd", "no-stdlib", "no-stdlib-rust-binding", "benchmark", "external-literal-probability", "uncached_frequentist", "threadlog"] }
- simd
-
allow use of SIMD to update probability and compute crc32c
Affects
crc32::crc32c_update
,interface::DefaultInternalCDF16
,probability::simd_frequentist_cdf
,numeric::fast_divide_30bit_i64x2_by_16bit
… - avx2
-
use avx2-specific instructions
- no-inline
-
avoid inlining some key functions (for profiling). Significant perf hit
- safe
-
do not compile any unsafe code (this disables C-FFI)
- avoid-divide
-
use 65536-sized table to do 16 bit integer divides: similar speed, but strains memory subsystem
Affects
simd_frequentist_cdf::lookup_divisor
… - findspeed
-
use dynamic CDF blending depending on samples
Affects
interface::DefaultCDF16
… - billing
-
print breakdown of which parts of the file cost
Affects
billing::BillingArithmeticCoder
,priors::summarize_prior_billing
… - blend
-
use divisionless CDF: averages with other CDFs rather than counting samples like FrequentistCDF
Affects
interface::DefaultInternalCDF16
… - debug_entropy
-
print trace of probability
Affects
interface::DefaultCDF16
,priors::summarize_prior_billing
… - portable-simd
-
only use portable SIMD instructions for probability updates
- no-stdlib
-
Enables no-stdlib of alloc-no-stdlib ~1.3 and brotli ~2.5
Affects
integration_test::MULTI
,alloc_util::MemoryBlock
,alloc_util::free_stdlib
,alloc_util::alloc_stdlib
… - no-stdlib-rust-binding
-
bind to rust with nostdlib
- benchmark
-
turn on benchmark tests and --bench commands (requires nigtly)
Enables benchmark of brotli ~2.5
- external-literal-probability
-
allow specification of a external probability array, to test new prediction schemes
Enables external-literal-probability of brotli ~2.5
- uncached_frequentist
-
Affects
interface::DefaultInternalCDF16
… - threadlog