Rust implementation of the CVM algorithm for counting distinct elements in a stream
1[package]
2name = "cvmcount"
3description = "use the CVM algorithm to quickly estimate the number of distinct elements in a stream"
4readme = "README.md"
5license = "MIT OR Apache-2.0"
6repository = "https://github.com/urschrei/cvmcount"
7documentation = "https://docs.rs/cvmcount"
8keywords = ["CVM", "count-distinct", "estimation"]
9categories = ["algorithms", ]
10
11version = "0.1.10"
12edition = "2021"
13
14[dependencies]
15rand = "0.8.5"
16regex = "1.10.4"
17clap = { version = "4.5.4", features = ["cargo"] }
18rustc-hash = "1.1.0"
19
20[dev-dependencies]
21rand = "0.8.5"
22criterion = "0.5.1"
23
24[lib]
25name = "cvmcount"
26path = "src/lib.rs"
27doctest = false
28
29[[bin]]
30name = "cvmcount"
31path = "src/main.rs"
32test = false
33
34[profile.release]
35lto = true
36codegen-units = 1
37
38[profile.bench]
39lto = true
40codegen-units = 1
41
42# The profile that 'cargo dist' will build with
43[profile.dist]
44inherits = "release"
45lto = "thin"
46
47[[bench]]
48name = "benchmarks"
49harness = false
50
51# Config for 'cargo dist'
52[workspace.metadata.dist]
53# The preferred cargo-dist version to use in CI (Cargo.toml SemVer syntax)
54cargo-dist-version = "0.13.3"
55# CI backends to support
56ci = ["github"]
57# The installers to generate for each app
58installers = ["shell"]
59# Target platforms to build apps for (Rust target-triple syntax)
60targets = ["aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
61# Publish jobs to run in CI
62pr-run-mode = "plan"
63# Whether to install an updater program
64install-updater = false