diff options
Diffstat (limited to 'vendor/png/benches')
-rw-r--r-- | vendor/png/benches/README.md | 6 | ||||
-rw-r--r-- | vendor/png/benches/decoder.rs | 38 |
2 files changed, 0 insertions, 44 deletions
diff --git a/vendor/png/benches/README.md b/vendor/png/benches/README.md deleted file mode 100644 index bf13a55..0000000 --- a/vendor/png/benches/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Getting started with benchmarking - -To run the benchmarks you need a nightly rust toolchain. -Then you launch it with - - rustup run nightly cargo bench --features=benchmarks diff --git a/vendor/png/benches/decoder.rs b/vendor/png/benches/decoder.rs deleted file mode 100644 index a078c9a..0000000 --- a/vendor/png/benches/decoder.rs +++ /dev/null @@ -1,38 +0,0 @@ -use std::fs; - -use criterion::{criterion_group, criterion_main, Criterion, Throughput}; -use png::Decoder; - -fn load_all(c: &mut Criterion) { - for entry in fs::read_dir("tests/benches/").unwrap().flatten() { - match entry.path().extension() { - Some(st) if st == "png" => {} - _ => continue, - } - - let data = fs::read(entry.path()).unwrap(); - bench_file(c, data, entry.file_name().into_string().unwrap()); - } -} - -criterion_group!(benches, load_all); -criterion_main!(benches); - -fn bench_file(c: &mut Criterion, data: Vec<u8>, name: String) { - let mut group = c.benchmark_group("decode"); - group.sample_size(20); - - let decoder = Decoder::new(&*data); - let mut reader = decoder.read_info().unwrap(); - let mut image = vec![0; reader.output_buffer_size()]; - let info = reader.next_frame(&mut image).unwrap(); - - group.throughput(Throughput::Bytes(info.buffer_size() as u64)); - group.bench_with_input(name, &data, |b, data| { - b.iter(|| { - let decoder = Decoder::new(data.as_slice()); - let mut decoder = decoder.read_info().unwrap(); - decoder.next_frame(&mut image).unwrap(); - }) - }); -} |