Use rustc-hash for most of our HashMap and HashSet instances
This commit is contained in:
parent
14ed71e09b
commit
f5bcfec821
19 changed files with 60 additions and 49 deletions
|
|
@ -4,7 +4,7 @@ use crate::graphics;
|
|||
use crate::graphics::image::image_rs;
|
||||
use crate::image::atlas::{self, Atlas};
|
||||
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use rustc_hash::{FxHashMap, FxHashSet};
|
||||
|
||||
/// Entry in cache corresponding to an image handle
|
||||
#[derive(Debug)]
|
||||
|
|
@ -38,8 +38,8 @@ impl Memory {
|
|||
/// Caches image raster data
|
||||
#[derive(Debug, Default)]
|
||||
pub struct Cache {
|
||||
map: HashMap<u64, Memory>,
|
||||
hits: HashSet<u64>,
|
||||
map: FxHashMap<u64, Memory>,
|
||||
hits: FxHashSet<u64>,
|
||||
}
|
||||
|
||||
impl Cache {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ use crate::image::atlas::{self, Atlas};
|
|||
|
||||
use resvg::tiny_skia;
|
||||
use resvg::usvg::{self, TreeTextToPath};
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use rustc_hash::{FxHashMap, FxHashSet};
|
||||
use std::fs;
|
||||
|
||||
/// Entry in cache corresponding to an svg handle
|
||||
|
|
@ -33,10 +33,10 @@ impl Svg {
|
|||
/// Caches svg vector and raster data
|
||||
#[derive(Debug, Default)]
|
||||
pub struct Cache {
|
||||
svgs: HashMap<u64, Svg>,
|
||||
rasterized: HashMap<(u64, u32, u32, ColorFilter), atlas::Entry>,
|
||||
svg_hits: HashSet<u64>,
|
||||
rasterized_hits: HashSet<(u64, u32, u32, ColorFilter)>,
|
||||
svgs: FxHashMap<u64, Svg>,
|
||||
rasterized: FxHashMap<(u64, u32, u32, ColorFilter), atlas::Entry>,
|
||||
svg_hits: FxHashSet<u64>,
|
||||
rasterized_hits: FxHashSet<(u64, u32, u32, ColorFilter)>,
|
||||
}
|
||||
|
||||
type ColorFilter = Option<[u8; 4]>;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
//! Draw primitives using custom pipelines.
|
||||
use crate::core::{self, Rectangle, Size};
|
||||
|
||||
use rustc_hash::FxHashMap;
|
||||
use std::any::{Any, TypeId};
|
||||
use std::collections::HashMap;
|
||||
use std::fmt::Debug;
|
||||
use std::sync::Arc;
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ impl Renderer for crate::Renderer {
|
|||
/// Stores custom, user-provided pipelines.
|
||||
#[derive(Default, Debug)]
|
||||
pub struct Storage {
|
||||
pipelines: HashMap<TypeId, Box<dyn Any + Send>>,
|
||||
pipelines: FxHashMap<TypeId, Box<dyn Any + Send>>,
|
||||
}
|
||||
|
||||
impl Storage {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue