src/backup/chunk_store.rs: use zstd compression insteadf of lz4
Provides better compressionm rate, and is still fast.
This commit is contained in:
		@ -183,7 +183,7 @@ impl ChunkStore {
 | 
			
		||||
 | 
			
		||||
        buffer.clear();
 | 
			
		||||
        let f = std::fs::File::open(&chunk_path)?;
 | 
			
		||||
        let mut decoder = lz4::Decoder::new(f)?;
 | 
			
		||||
        let mut decoder = zstd::stream::Decoder::new(f)?;
 | 
			
		||||
 | 
			
		||||
        decoder.read_to_end(buffer)?;
 | 
			
		||||
 | 
			
		||||
@ -333,12 +333,10 @@ impl ChunkStore {
 | 
			
		||||
 | 
			
		||||
        let f = std::fs::File::create(&tmp_path)?;
 | 
			
		||||
 | 
			
		||||
        // fixme: what is the fasted lz4 encoder available (see lzbench)?
 | 
			
		||||
        let mut encoder = lz4::EncoderBuilder::new().level(1).build(f)?;
 | 
			
		||||
        let mut encoder = zstd::stream::Encoder::new(f, 1)?;
 | 
			
		||||
 | 
			
		||||
        encoder.write_all(chunk)?;
 | 
			
		||||
        let (f, encode_result) = encoder.finish();
 | 
			
		||||
        encode_result?;
 | 
			
		||||
        let f = encoder.finish()?;
 | 
			
		||||
 | 
			
		||||
        if let Err(err) = std::fs::rename(&tmp_path, &chunk_path) {
 | 
			
		||||
            if let Err(_) = std::fs::remove_file(&tmp_path)  { /* ignore */ }
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user