From b3bc0225e5a59b3f8f4639d9558a2e71389eda6f Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 9 Aug 2026 10:16:27 +0000 Subject: [PATCH] Optimize data directory backup migration via concurrent chunked copying Co-authored-by: Horizontal42 <75383519+Horizontal42@users.noreply.github.com> --- src-tauri/src/main.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 731b08b..e61a93d 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -585,9 +585,14 @@ fn migrate_data_dir( } if !files_to_copy.is_empty() { - let thread_count = std::thread::available_parallelism().map(|n| n.get()).unwrap_or(4); + let thread_count = std::thread::available_parallelism() + .map(|n| n.get()) + .unwrap_or(4); let chunk_size = (files_to_copy.len() / thread_count).max(1); - let chunks: Vec<_> = files_to_copy.chunks(chunk_size).map(|c| c.to_vec()).collect(); + let chunks: Vec<_> = files_to_copy + .chunks(chunk_size) + .map(|c| c.to_vec()) + .collect(); let mut handles = Vec::new(); for chunk in chunks {