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.11"
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
28bench = false
29
30[[bin]]
31name = "cvmcount"
32path = "src/main.rs"
33test = false
34bench = false
35
36[profile.release]
37lto = true
38codegen-units = 1
39
40[profile.bench]
41lto = true
42codegen-units = 1
43
44# The profile that 'cargo dist' will build with
45[profile.dist]
46inherits = "release"
47lto = "thin"
48
49[[bench]]
50name = "benchmarks"
51harness = false
52
53# Config for 'cargo dist'
54[workspace.metadata.dist]
55# The preferred cargo-dist version to use in CI (Cargo.toml SemVer syntax)
56cargo-dist-version = "0.13.3"
57# CI backends to support
58ci = ["github"]
59# The installers to generate for each app
60installers = ["shell"]
61# Target platforms to build apps for (Rust target-triple syntax)
62targets = ["aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
63# Publish jobs to run in CI
64pr-run-mode = "plan"
65# Whether to install an updater program
66install-updater = false