From 7db277faef343cefb8adaca77d2ee941b11ede0f Mon Sep 17 00:00:00 2001 From: Maximilian Ammann Date: Sun, 27 Mar 2022 15:05:29 +0200 Subject: [PATCH] Add benchmark for parsing --- benches/tessellation.rs | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/benches/tessellation.rs b/benches/tessellation.rs index c7e09937..f2d8c223 100644 --- a/benches/tessellation.rs +++ b/benches/tessellation.rs @@ -6,15 +6,26 @@ use std::io::Cursor; use vector_tile::parse_tile_reader; use vector_tile::tile::Layer; -fn tessselate(layer: &Layer) { - let _: (VertexBuffers<_, u32>, _) = layer.tessellate().unwrap(); +const MUNICH_X: u32 = 17425; +const MUNICH_Y: u32 = 11365; +const MUNICH_Z: u8 = 15; + +fn parse_tile(c: &mut Criterion) { + let fetcher = StaticTileFetcher::new(); + + c.bench_function("parse", |b| { + b.iter(|| { + parse_tile_reader(&mut Cursor::new( + fetcher + .sync_fetch_tile(&(MUNICH_X, MUNICH_Y, MUNICH_Z).into()) + .unwrap(), + )) + .expect("failed to load tile") + }) + }); } -fn tile1(c: &mut Criterion) { - const MUNICH_X: u32 = 17425; - const MUNICH_Y: u32 = 11365; - const MUNICH_Z: u8 = 15; - +fn tessellate_tile(c: &mut Criterion) { let fetcher = StaticTileFetcher::new(); let tile = parse_tile_reader(&mut Cursor::new( fetcher @@ -24,8 +35,12 @@ fn tile1(c: &mut Criterion) { .expect("failed to load tile"); let layer = tile.layers().first().unwrap(); + fn tessselate(layer: &Layer) { + let _: (VertexBuffers<_, u32>, _) = layer.tessellate().unwrap(); + } + c.bench_function("tessselate", |b| b.iter(|| tessselate(layer))); } -criterion_group!(benches, tile1); +criterion_group!(benches, parse_tile, tessellate_tile); criterion_main!(benches);