From b1645aa2047cbfed040a40e8f4ed2a92765dc287 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Wed, 26 Jul 2023 21:42:15 +0200 Subject: Index::from_file use deserialize_from to save memory --- src/index.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/index.rs b/src/index.rs index be23e0e..5d2abb6 100644 --- a/src/index.rs +++ b/src/index.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use std::hash::Hash; use std::fs::File; -use std::io::BufWriter; +use std::io::{BufWriter, BufReader}; use std::thread; use walkdir::*; use hash32::Hasher; @@ -106,8 +106,9 @@ impl Index { } pub fn from_file(path : &String) -> Self { - let bytes = std::fs::read(path).expect("could not read index file"); - let filecache : Vec = bincode::deserialize(&bytes).unwrap(); + let file = File::open(path).expect("could not read index file"); + let reader = BufReader::new(file); + let filecache : Vec = bincode::deserialize_from(reader).unwrap(); Self { filecache -- cgit v1.2.3-70-g09d2