From e1beaeed2824a47778b989963806c011f6e7b75f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mikrut?= <41945903+qarmin@users.noreply.github.com> Date: Fri, 15 Jan 2021 12:41:45 +0100 Subject: [PATCH] Decrease ram usage (#212) --- czkawka_core/src/broken_files.rs | 2 +- czkawka_core/src/duplicate.rs | 4 ++++ czkawka_core/src/same_music.rs | 8 ++++++++ czkawka_core/src/similar_images.rs | 6 ++++++ czkawka_core/src/zeroed.rs | 4 ++++ 5 files changed, 23 insertions(+), 1 deletion(-) diff --git a/czkawka_core/src/broken_files.rs b/czkawka_core/src/broken_files.rs index c9f49e0..20ac886 100644 --- a/czkawka_core/src/broken_files.rs +++ b/czkawka_core/src/broken_files.rs @@ -443,7 +443,7 @@ impl BrokenFiles { Common::print_time(system_time, SystemTime::now(), "sort_images - reading data from files in parallel".to_string()); - // Clean data + // Clean unused data self.files_to_check = Default::default(); true diff --git a/czkawka_core/src/duplicate.rs b/czkawka_core/src/duplicate.rs index 9479ab7..462c5de 100644 --- a/czkawka_core/src/duplicate.rs +++ b/czkawka_core/src/duplicate.rs @@ -923,6 +923,10 @@ impl DuplicateFinder { } Common::print_time(start_time, SystemTime::now(), "check_files_hash - full hash".to_string()); + + // Clean unused data + self.files_with_identical_size = Default::default(); + true } diff --git a/czkawka_core/src/same_music.rs b/czkawka_core/src/same_music.rs index 50f937d..80c23f6 100644 --- a/czkawka_core/src/same_music.rs +++ b/czkawka_core/src/same_music.rs @@ -402,6 +402,10 @@ impl SameMusic { self.music_entries = vec_file_entry; Common::print_time(start_time, SystemTime::now(), "check_records_multithreaded".to_string()); + + // Clean for duplicate files + self.music_to_check.clear(); + true } fn check_for_duplicates(&mut self, stop_receiver: Option<&Receiver<()>>, progress_sender: Option<&futures::channel::mpsc::Sender>) -> bool { @@ -589,6 +593,10 @@ impl SameMusic { progress_thread_handle.join().unwrap(); Common::print_time(start_time, SystemTime::now(), "check_for_duplicates".to_string()); + + // Clear unused data + self.music_entries.clear(); + true } diff --git a/czkawka_core/src/similar_images.rs b/czkawka_core/src/similar_images.rs index 0c2f8ea..2dd84ec 100644 --- a/czkawka_core/src/similar_images.rs +++ b/czkawka_core/src/similar_images.rs @@ -527,6 +527,12 @@ impl SimilarImages { self.similar_vectors = new_vector; Common::print_time(hash_map_modification, SystemTime::now(), "sort_images - selecting data from BtreeMap".to_string()); + + // Clean unused data + self.image_hashes = Default::default(); + self.images_to_check = Default::default(); + self.bktree = BKTree::new(Hamming); + true } diff --git a/czkawka_core/src/zeroed.rs b/czkawka_core/src/zeroed.rs index f3a7293..98886c1 100644 --- a/czkawka_core/src/zeroed.rs +++ b/czkawka_core/src/zeroed.rs @@ -385,6 +385,10 @@ impl ZeroedFiles { self.information.number_of_zeroed_files = self.zeroed_files.len(); Common::print_time(start_time, SystemTime::now(), "search for zeroed_files".to_string()); + + //Clean unused data + self.files_to_check.clear(); + true }