Use ArcIntern and CompactString as needed

This commit is contained in:
Olivier 'reivilibre' 2022-03-20 15:49:00 +00:00
parent fc90ea4e1f
commit 5e61386a83
3 changed files with 86 additions and 12 deletions

83
Cargo.lock generated
View File

@ -48,6 +48,15 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "ahash"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217"
dependencies = [
"const-random",
]
[[package]]
name = "ahash"
version = "0.7.6"
@ -80,6 +89,18 @@ version = "1.0.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27"
[[package]]
name = "arc-interner"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "655ae79d4a7661f2f9a8f6daf95af32897eafdea938df06aeb127cea02b5f4ac"
dependencies = [
"ahash 0.3.8",
"dashmap",
"once_cell",
"serde",
]
[[package]]
name = "askama"
version = "0.11.1"
@ -438,6 +459,28 @@ dependencies = [
"crossterm",
]
[[package]]
name = "const-random"
version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f590d95d011aa80b063ffe3253422ed5aa462af4e9867d43ce8337562bac77c4"
dependencies = [
"const-random-macro",
"proc-macro-hack",
]
[[package]]
name = "const-random-macro"
version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "615f6e27d000a2bffbc7f2f6a8669179378fa27ee4d0a509e985dfc0a7defb40"
dependencies = [
"getrandom 0.2.5",
"lazy_static",
"proc-macro-hack",
"tiny-keccak",
]
[[package]]
name = "convert_case"
version = "0.4.0"
@ -573,6 +616,12 @@ dependencies = [
"winapi",
]
[[package]]
name = "crunchy"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
[[package]]
name = "cssparser"
version = "0.27.2"
@ -977,7 +1026,7 @@ version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
dependencies = [
"ahash",
"ahash 0.7.6",
]
[[package]]
@ -2180,7 +2229,7 @@ version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55586aa936c35f34ba8aa5d97356d554311206e1ce1f9e68fe7b07288e5ad827"
dependencies = [
"ahash",
"ahash 0.7.6",
"metrics-macros 0.4.1",
]
@ -2190,7 +2239,7 @@ version = "0.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e52eb6380b6d2a10eb3434aec0885374490f5b82c8aaf5cd487a183c98be834"
dependencies = [
"ahash",
"ahash 0.7.6",
"metrics-macros 0.5.1",
]
@ -2857,6 +2906,7 @@ version = "0.1.0"
dependencies = [
"adblock",
"anyhow",
"arc-interner",
"bare-metrics-recorder",
"bytes",
"chrono",
@ -2891,6 +2941,7 @@ dependencies = [
"serde",
"serde_bare",
"sitemap",
"smartstring",
"tokio",
"toml",
]
@ -3428,6 +3479,15 @@ version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83"
[[package]]
name = "smartstring"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea958ad90cacc8ece7f238fde3671e1b350ee1741964edf2a22fd16f60224163"
dependencies = [
"static_assertions",
]
[[package]]
name = "socket2"
version = "0.4.4"
@ -3480,7 +3540,7 @@ version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "195183bf6ff8328bb82c0511a83faf60aacf75840103388851db61d7a9854ae3"
dependencies = [
"ahash",
"ahash 0.7.6",
"atoi",
"bitflags",
"byteorder",
@ -3554,6 +3614,12 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
[[package]]
name = "static_assertions"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "string_cache"
version = "0.8.3"
@ -3709,6 +3775,15 @@ dependencies = [
"winapi",
]
[[package]]
name = "tiny-keccak"
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
dependencies = [
"crunchy",
]
[[package]]
name = "tinyvec"
version = "1.5.1"

View File

@ -46,6 +46,8 @@ ouroboros = "0.14.2"
rand = "0.8.5"
lru = "0.7.3"
diplomatic-bag = "0.2.0"
arc-interner = "0.7.0"
smartstring = "1.0.0"
### Raking helpers
# HTTP Requests

View File

@ -4,7 +4,10 @@ use std::collections::BTreeSet;
use env_logger::Env;
use anyhow::{bail, Context};
use std::path::{Path, PathBuf};
use arc_interner::ArcIntern;
use smartstring::alias::CompactString;
use std::path::{PathBuf};
use tokio::sync::mpsc::{Receiver, Sender};
use quickpeep_raker::config;
@ -53,15 +56,9 @@ pub async fn main() -> anyhow::Result<()> {
Ok(())
}
// TODO use the smart string
type SmartString = String;
// TODO use the arc interner
type ArcIntern<T> = T;
pub struct Seed {
url: UrlOrUrlPattern,
tags: ArcIntern<BTreeSet<SmartString>>,
tags: ArcIntern<BTreeSet<CompactString>>,
}
/// Either a URL or a URL prefix.