1
- use std:: path:: Path ;
1
+ use std:: { fs :: File , io :: Read , path:: Path } ;
2
2
3
3
use criterion:: { black_box, criterion_group, criterion_main, Criterion } ;
4
4
5
- use base_sequence_compression:: compress_fasta;
5
+ use base_sequence_compression:: { compress_fasta, decompress_fasta } ;
6
6
7
7
fn criterion_benchmark ( c : & mut Criterion ) {
8
8
c. bench_function ( "Compress Small FASTA file" , |b| {
@@ -19,6 +19,24 @@ fn criterion_benchmark(c: &mut Criterion) {
19
19
compress_fasta ( black_box ( & content) ) ;
20
20
} )
21
21
} ) ;
22
+ c. bench_function ( "Decompress Small FASTA file" , |b| {
23
+ b. iter ( || {
24
+ let path = Path :: new ( "benches/output/test.bin" ) ;
25
+ let mut file = File :: open ( path) . ok ( ) . unwrap ( ) ;
26
+ let mut content = Vec :: new ( ) ;
27
+ file. read_to_end ( black_box ( & mut content) ) . ok ( ) ;
28
+ decompress_fasta ( black_box ( & content) ) ;
29
+ } )
30
+ } ) ;
31
+ c. bench_function ( "Decompress Large FASTA file" , |b| {
32
+ b. iter ( || {
33
+ let path = Path :: new ( "benches/output/large.bin" ) ;
34
+ let mut file = File :: open ( path) . ok ( ) . unwrap ( ) ;
35
+ let mut content = Vec :: new ( ) ;
36
+ file. read_to_end ( black_box ( & mut content) ) . ok ( ) ;
37
+ decompress_fasta ( black_box ( & content) ) ;
38
+ } )
39
+ } ) ;
22
40
}
23
41
24
42
criterion_group ! ( benches, criterion_benchmark) ;
0 commit comments