mirror of https://github.com/dswd/zvault
Merge c8874829a1
into b2331c61fd
This commit is contained in:
commit
174091c7de
|
@ -26,22 +26,21 @@ fn random_data(seed: u64, size: usize) -> Vec<u8> {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
struct CutPositions(Vec<u64>, u64);
|
struct CutPositions(Vec<u8>, u64);
|
||||||
|
|
||||||
impl CutPositions {
|
impl CutPositions {
|
||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
CutPositions(vec![], 0)
|
CutPositions(Vec::with_capacity(1024*1024), 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn positions(&self) -> &[u64] {
|
pub fn data(&self) -> &[u8] {
|
||||||
&self.0
|
&self.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Write for CutPositions {
|
impl Write for CutPositions {
|
||||||
fn write(&mut self, data: &[u8]) -> Result<usize, io::Error> {
|
fn write(&mut self, data: &[u8]) -> Result<usize, io::Error> {
|
||||||
self.1 += data.len() as u64;
|
self.0.extend_from_slice(data);
|
||||||
self.0.push(self.1);
|
|
||||||
Ok(data.len())
|
Ok(data.len())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +66,7 @@ fn test_fixed_8192(b: &mut Bencher) {
|
||||||
let mut cursor = Cursor::new(&data);
|
let mut cursor = Cursor::new(&data);
|
||||||
let mut sink = CutPositions::new();
|
let mut sink = CutPositions::new();
|
||||||
while chunker.chunk(&mut cursor, &mut sink).unwrap() == ChunkerStatus::Continue {};
|
while chunker.chunk(&mut cursor, &mut sink).unwrap() == ChunkerStatus::Continue {};
|
||||||
test::black_box(sink.positions().len())
|
test::black_box(sink.data().len())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,7 +87,7 @@ fn test_ae_8192(b: &mut Bencher) {
|
||||||
let mut cursor = Cursor::new(&data);
|
let mut cursor = Cursor::new(&data);
|
||||||
let mut sink = CutPositions::new();
|
let mut sink = CutPositions::new();
|
||||||
while chunker.chunk(&mut cursor, &mut sink).unwrap() == ChunkerStatus::Continue {};
|
while chunker.chunk(&mut cursor, &mut sink).unwrap() == ChunkerStatus::Continue {};
|
||||||
test::black_box(sink.positions().len())
|
test::black_box(sink.data().len())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,7 +108,7 @@ fn test_rabin_8192(b: &mut Bencher) {
|
||||||
let mut cursor = Cursor::new(&data);
|
let mut cursor = Cursor::new(&data);
|
||||||
let mut sink = CutPositions::new();
|
let mut sink = CutPositions::new();
|
||||||
while chunker.chunk(&mut cursor, &mut sink).unwrap() == ChunkerStatus::Continue {};
|
while chunker.chunk(&mut cursor, &mut sink).unwrap() == ChunkerStatus::Continue {};
|
||||||
test::black_box(sink.positions().len())
|
test::black_box(sink.data().len())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,6 +129,6 @@ fn test_fastcdc_8192(b: &mut Bencher) {
|
||||||
let mut cursor = Cursor::new(&data);
|
let mut cursor = Cursor::new(&data);
|
||||||
let mut sink = CutPositions::new();
|
let mut sink = CutPositions::new();
|
||||||
while chunker.chunk(&mut cursor, &mut sink).unwrap() == ChunkerStatus::Continue {};
|
while chunker.chunk(&mut cursor, &mut sink).unwrap() == ChunkerStatus::Continue {};
|
||||||
test::black_box(sink.positions().len())
|
test::black_box(sink.data().len())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue