[package] name = "divans" version = "0.0.1" authors = [ "Daniel Reiter Horn ", "Jongmin Baek ", "Anatoly Yakovenko " ] license = "Apache-2.0" description = "DivANS is a new way of structuring compression programs to make them more open to innovation in the wider community, by separating compression into multiple stages that can each be improved independently" documentation = "https://blogs.dropbox.com/tech/2018/06/building-better-compression-together-with-divans/" keywords = ["brotli", "decompression", "lz77", "huffman", "nostd"] readme = "README.md" build = "build.rs" autobins = false [lib] crate-type=["cdylib", "rlib", "staticlib"] [[bin]] doc = false name = "divans" [build-dependencies] vergen = "0.1" [dependencies] "alloc-no-stdlib" = "~1.3" "brotli" = {version = "~2.5"} [features] # allow use of SIMD to update probability and compute crc32c simd = [] # use avx2-specific instructions avx2=[] # avoid inlining some key functions (for profiling). Significant perf hit no-inline=[] # do not compile any unsafe code (this disables C-FFI) safe=[] # use 65536-sized table to do 16 bit integer divides: similar speed, but strains memory subsystem avoid-divide=[] #use dynamic CDF blending depending on samples findspeed = [] # print breakdown of which parts of the file cost billing = [] # use divisionless CDF: averages with other CDFs rather than counting samples like FrequentistCDF blend = [] # print trace of probability debug_entropy = [] # only use portable SIMD instructions for probability updates portable-simd = [] no-stdlib = ["alloc-no-stdlib/no-stdlib", "brotli/no-stdlib"] # bind to rust with nostdlib no-stdlib-rust-binding = [] # turn on benchmark tests and --bench commands (requires nigtly) benchmark = ["brotli/benchmark"] # allow specification of a external probability array, to test new prediction schemes external-literal-probability = ["brotli/external-literal-probability"] uncached_frequentist = [] threadlog = []