From 007a1459884ea36c97a2e8cf2f29ec9b63396b4e Mon Sep 17 00:00:00 2001 From: Rob Ede Date: Mon, 4 Jan 2021 04:29:07 +0000 Subject: [PATCH] use ahash for internal hashmaps --- Cargo.toml | 2 +- src/middleware/errhandlers.rs | 8 ++++---- src/rmap.rs | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 165004447..5388de4ed 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -87,12 +87,12 @@ actix-web-codegen = "0.4.0" actix-http = "2.2.0" awc = { version = "2.0.3", default-features = false } +ahash = "0.6" bytes = "1" derive_more = "0.99.5" encoding_rs = "0.8" futures-core = { version = "0.3.7", default-features = false } futures-util = { version = "0.3.7", default-features = false } -fxhash = "0.2.1" log = "0.4" mime = "0.3" socket2 = "0.3.16" diff --git a/src/middleware/errhandlers.rs b/src/middleware/errhandlers.rs index 9e78bb7d0..d25b9c2ef 100644 --- a/src/middleware/errhandlers.rs +++ b/src/middleware/errhandlers.rs @@ -4,7 +4,7 @@ use std::task::{Context, Poll}; use actix_service::{Service, Transform}; use futures_util::future::{ok, FutureExt, LocalBoxFuture, Ready}; -use fxhash::FxHashMap; +use ahash::AHashMap; use crate::dev::{ServiceRequest, ServiceResponse}; use crate::error::{Error, Result}; @@ -52,13 +52,13 @@ type ErrorHandler = dyn Fn(ServiceResponse) -> Result { - handlers: Rc>>>, + handlers: Rc>>>, } impl Default for ErrorHandlers { fn default() -> Self { ErrorHandlers { - handlers: Rc::new(FxHashMap::default()), + handlers: Rc::new(AHashMap::default()), } } } @@ -104,7 +104,7 @@ where #[doc(hidden)] pub struct ErrorHandlersMiddleware { service: S, - handlers: Rc>>>, + handlers: Rc>>>, } impl Service for ErrorHandlersMiddleware diff --git a/src/rmap.rs b/src/rmap.rs index 6827a11b2..3c8805d57 100644 --- a/src/rmap.rs +++ b/src/rmap.rs @@ -2,7 +2,7 @@ use std::cell::RefCell; use std::rc::{Rc, Weak}; use actix_router::ResourceDef; -use fxhash::FxHashMap; +use ahash::AHashMap; use url::Url; use crate::error::UrlGenerationError; @@ -12,7 +12,7 @@ use crate::request::HttpRequest; pub struct ResourceMap { root: ResourceDef, parent: RefCell>, - named: FxHashMap, + named: AHashMap, patterns: Vec<(ResourceDef, Option>)>, } @@ -21,7 +21,7 @@ impl ResourceMap { ResourceMap { root, parent: RefCell::new(Weak::new()), - named: FxHashMap::default(), + named: AHashMap::default(), patterns: Vec::new(), } }