From ee08110a2072d5489d2b52b82961948b364ea08d Mon Sep 17 00:00:00 2001 From: monosans Date: Tue, 12 Aug 2025 21:36:27 +0300 Subject: [PATCH] use foldhash --- Cargo.lock | 1 + Cargo.toml | 1 + src/config.rs | 3 ++- src/http.rs | 3 ++- src/output.rs | 2 +- src/raw_config.rs | 2 +- src/scraper.rs | 3 ++- src/tui.rs | 3 ++- 8 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9936059..0a0b1a9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1431,6 +1431,7 @@ dependencies = [ "crossterm", "dirs", "fancy-regex", + "foldhash", "futures", "hickory-resolver", "httpdate", diff --git a/Cargo.toml b/Cargo.toml index 9b7279a..c3e52b5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,6 +12,7 @@ crossterm = { version = "=0.28.1", features = [ ], optional = true } dirs = "=6.0.0" fancy-regex = "=0.16.1" +foldhash = "=0.1.5" futures = { version = "=0.3.31", optional = true } hickory-resolver = "=0.25.2" httpdate = "=1.0.3" diff --git a/src/config.rs b/src/config.rs index c77e308..1b67ee3 100644 --- a/src/config.rs +++ b/src/config.rs @@ -1,11 +1,12 @@ use std::{ - collections::{HashMap, hash_map}, + collections::hash_map, path::{Path, PathBuf}, sync::Arc, time::Duration, }; use color_eyre::eyre::{OptionExt as _, WrapErr as _}; +use foldhash::HashMap; use crate::{http::BasicAuth, proxy::ProxyType, raw_config, utils::is_docker}; diff --git a/src/http.rs b/src/http.rs index 232318c..91687a9 100644 --- a/src/http.rs +++ b/src/http.rs @@ -1,11 +1,12 @@ use std::{ - collections::HashMap, fmt::Display, net::SocketAddr, sync::Arc, time::{Duration, SystemTime}, }; +use foldhash::HashMap; + use crate::config::Config; const DEFAULT_MAX_RETRIES: u32 = 2; diff --git a/src/output.rs b/src/output.rs index 94250bb..f1797c1 100644 --- a/src/output.rs +++ b/src/output.rs @@ -1,5 +1,4 @@ use std::{ - collections::HashMap, io, iter, net::{IpAddr, Ipv4Addr}, sync::Arc, @@ -7,6 +6,7 @@ use std::{ }; use color_eyre::eyre::WrapErr as _; +use foldhash::HashMap; use crate::{ config::Config, diff --git a/src/raw_config.rs b/src/raw_config.rs index 7d5ee26..8af8b54 100644 --- a/src/raw_config.rs +++ b/src/raw_config.rs @@ -1,11 +1,11 @@ use std::{ - collections::HashMap, env, num::NonZero, path::{Path, PathBuf}, }; use color_eyre::eyre::WrapErr as _; +use foldhash::HashMap; use serde::Deserialize as _; use crate::http::BasicAuth; diff --git a/src/scraper.rs b/src/scraper.rs index 189a61b..608f1bb 100644 --- a/src/scraper.rs +++ b/src/scraper.rs @@ -1,6 +1,7 @@ -use std::{collections::HashSet, sync::Arc}; +use std::sync::Arc; use color_eyre::eyre::{OptionExt as _, WrapErr as _}; +use foldhash::{HashSet, HashSetExt as _}; #[cfg(feature = "tui")] use crate::event::{AppEvent, Event}; diff --git a/src/tui.rs b/src/tui.rs index f816db1..d2d8ad1 100644 --- a/src/tui.rs +++ b/src/tui.rs @@ -4,12 +4,13 @@ clippy::wildcard_enum_match_arm )] -use std::{collections::HashMap, time::Duration}; +use std::time::Duration; use color_eyre::eyre::WrapErr as _; use crossterm::event::{ Event as CrosstermEvent, KeyCode, KeyModifiers, MouseEventKind, }; +use foldhash::HashMap; use futures::StreamExt as _; use ratatui::{ Frame,