From 7b8943976f4f933da2335d1767774e068b232acc Mon Sep 17 00:00:00 2001 From: Fabian Schmidt Date: Wed, 28 Aug 2024 14:16:38 +0200 Subject: [PATCH] Revert last commit Accidentally kept the hashing and when I removed it the solution slowed down again This reverts commit aaa11c7b94dd581d3508d075e1e19f6214ab9cf2. --- .../src/implementations/multi_threaded.rs | 11 +++---- src/main/rust/src/models.rs | 1 - src/main/rust/src/models/hasher.rs | 33 ------------------- 3 files changed, 4 insertions(+), 41 deletions(-) delete mode 100644 src/main/rust/src/models/hasher.rs diff --git a/src/main/rust/src/implementations/multi_threaded.rs b/src/main/rust/src/implementations/multi_threaded.rs index 7e54ec3..78ea9d8 100644 --- a/src/main/rust/src/implementations/multi_threaded.rs +++ b/src/main/rust/src/implementations/multi_threaded.rs @@ -1,4 +1,3 @@ -use crate::models::hasher::CustomBuildHasher; use crate::models::station_measurements::StationMeasurements; use crate::utils::{hash, parse}; use std::collections::HashMap; @@ -13,9 +12,8 @@ pub fn run() { const FILE_PATH: &str = "../../../measurements.txt"; let now = Instant::now(); thread::scope(|s| { - let hasher = CustomBuildHasher::default(); - let mut stations: HashMap = - HashMap::with_capacity_and_hasher(DEFAULT_HASHMAP_LENGTH, hasher); + let mut stations: HashMap = + HashMap::with_capacity(DEFAULT_HASHMAP_LENGTH); let (tx, rx) = mpsc::channel(); let cores = thread::available_parallelism().unwrap().into(); let file = File::open(FILE_PATH).expect("File measurements.txt not found"); @@ -46,9 +44,8 @@ pub fn run() { let file = File::open(FILE_PATH).expect("File measurements.txt not found"); let mut reader = BufReader::new(&file); reader.seek(SeekFrom::Start(currposition)).unwrap(); - let hasher = CustomBuildHasher::default(); - let mut t_stations: HashMap = - HashMap::with_capacity_and_hasher(DEFAULT_HASHMAP_LENGTH, hasher); + let mut t_stations: HashMap = + HashMap::with_capacity(DEFAULT_HASHMAP_LENGTH); let mut line = Vec::with_capacity(108); loop { let line_len = reader diff --git a/src/main/rust/src/models.rs b/src/main/rust/src/models.rs index de1f3e6..70e563a 100644 --- a/src/main/rust/src/models.rs +++ b/src/main/rust/src/models.rs @@ -1,3 +1,2 @@ pub mod mmap; pub mod station_measurements; -pub mod hasher; diff --git a/src/main/rust/src/models/hasher.rs b/src/main/rust/src/models/hasher.rs deleted file mode 100644 index 346dbfd..0000000 --- a/src/main/rust/src/models/hasher.rs +++ /dev/null @@ -1,33 +0,0 @@ -use std::hash::{BuildHasherDefault, Hasher}; -use crate::utils::hash; - -#[derive(Copy, Clone)] -pub struct CustomHasher(u64); - -impl Default for CustomHasher { - #[inline] - fn default() -> Self { - CustomHasher(0) - } -} - -impl CustomHasher { - #[inline] - pub fn with_key(key: u64) -> CustomHasher { - CustomHasher(key) - } -} - -impl Hasher for CustomHasher { - #[inline] - fn finish(&self) -> u64 { - self.0 - } - - #[inline] - fn write(&mut self, bytes: &[u8]) { - *self = CustomHasher(hash::bytes(bytes)); - } -} - -pub type CustomBuildHasher = BuildHasherDefault; \ No newline at end of file