-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdedup-ratio.rs
25 lines (20 loc) · 869 Bytes
/
dedup-ratio.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use std::collections::HashMap;
use std::io;
use chunkfs::bench::{CDCFixture, Dataset};
use chunkfs::chunkers::SuperChunker;
use chunkfs::hashers::Sha256Hasher;
use chunkfs::MB;
fn main() -> io::Result<()> {
let mut fixture = CDCFixture::new(HashMap::default(), Sha256Hasher::default());
let mut handle = fixture.fs.create_file("file", SuperChunker::default())?;
fixture.fs.write_to_file(&mut handle, &[3; 100 * MB])?;
fixture.fs.close_file(handle)?;
let new = fixture.fs.get_to_dedup_ratio("file", 4.0)?;
fixture.fs.write_file_to_disk(&new, "../new")?;
fixture.fs.clear_database()?;
let dataset = Dataset::new("../new", "dataset")?;
let measurement = fixture.measure(&dataset, SuperChunker::default())?;
println!("measurement: {:?}", measurement);
println!("dedup ratio: {}", fixture.fs.cdc_dedup_ratio());
Ok(())
}