diff --git a/Cargo.lock b/Cargo.lock index b5e6a1c6ef7b51917c434fe169dcef23979d624f..182e8a72de629b2bb8cf8bd8969dcef1220c9a46 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -776,6 +776,7 @@ name = "org_flux" version = "0.1.0" dependencies = [ "anyhow", + "fnv", "image", "orgize", "syntect", diff --git a/Cargo.toml b/Cargo.toml index 3c6d58bc68bf315eae03caab8b35bad6968687e2..6081198d5b5a887e41e37c6f046b9a7b0de726c0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,3 +14,4 @@ tokio = { version = "1.0", features = ["full"] } warp = "0.3" time = { version = "0.3", features = ["macros", "formatting"] } image = "0.24.5" +fnv = "1.0" diff --git a/src/blog.rs b/src/blog.rs index e9171b47f9539491273956210bcbff46a9ab10c9..66728dccfda4f1eb91b04ae0ed704750723144dd 100644 --- a/src/blog.rs +++ b/src/blog.rs @@ -1,5 +1,5 @@ use anyhow::{bail, Error}; -use std::collections::HashMap; +use fnv::FnvHashMap; use warp::hyper::StatusCode; use crate::{ @@ -56,7 +56,7 @@ impl Blog { } pub struct RenderedBlog { - pages: HashMap<UrlPath, Response>, + pages: FnvHashMap<UrlPath, Response>, not_found: Response, } @@ -76,7 +76,7 @@ impl TryFrom<Blog> for RenderedBlog { b.pages.sort(); b.posts.sort(); - let mut pages = HashMap::new(); + let mut pages = FnvHashMap::default(); for p in &b.posts { let body = dress_page(&p.title, &p.html()?, &b.pages, &b.favicon); @@ -130,7 +130,7 @@ impl TryFrom<Blog> for RenderedBlog { } fn insert_path( - pages: &mut HashMap<UrlPath, Response>, + pages: &mut FnvHashMap<UrlPath, Response>, path: &str, value: Response, ) -> anyhow::Result<()> {