perf: eliminate allocations during cache file read using BufReader

Replaced `fs::read_to_string` combined with `serde_json::from_str` with `std::fs::File::open` and `serde_json::from_reader(std::io::BufReader::new(file))`. This avoids loading the entire JSON file into a string allocation before parsing it, improving memory usage.

Co-authored-by: arabianq <55220741+arabianq@users.noreply.github.com>
This commit is contained in:
google-labs-jules[bot]
2026-09-06 20:24:32 +00:00
co-authored by arabianq
parent 53fabcee75
commit 903dd3e44b
+3 -5
View File
@@ -171,11 +171,9 @@ impl SoundpadGui {
// 1. Try to load from disk cache if we don't have it in memory yet
if !is_cached
&& let Ok(data) = fs::read_to_string(&cache_file)
&& let Ok((all_files, dir_updates)) = serde_json::from_str::<(
Vec<PathBuf>,
HashMap<PathBuf, Vec<PathBuf>>,
)>(&data)
&& let Ok(file) = std::fs::File::open(&cache_file)
&& let Ok((all_files, dir_updates)) =
serde_json::from_reader(std::io::BufReader::new(file))
{
finished_scans.lock().unwrap().push((
path_clone.clone(),