mirror of
https://github.com/maplibre/maplibre-rs.git
synced 2025-12-08 19:05:57 +00:00
Add benchmark for parsing
This commit is contained in:
parent
491c7945d4
commit
7db277faef
@ -6,15 +6,26 @@ use std::io::Cursor;
|
|||||||
use vector_tile::parse_tile_reader;
|
use vector_tile::parse_tile_reader;
|
||||||
use vector_tile::tile::Layer;
|
use vector_tile::tile::Layer;
|
||||||
|
|
||||||
fn tessselate(layer: &Layer) {
|
const MUNICH_X: u32 = 17425;
|
||||||
let _: (VertexBuffers<_, u32>, _) = layer.tessellate().unwrap();
|
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) {
|
fn tessellate_tile(c: &mut Criterion) {
|
||||||
const MUNICH_X: u32 = 17425;
|
|
||||||
const MUNICH_Y: u32 = 11365;
|
|
||||||
const MUNICH_Z: u8 = 15;
|
|
||||||
|
|
||||||
let fetcher = StaticTileFetcher::new();
|
let fetcher = StaticTileFetcher::new();
|
||||||
let tile = parse_tile_reader(&mut Cursor::new(
|
let tile = parse_tile_reader(&mut Cursor::new(
|
||||||
fetcher
|
fetcher
|
||||||
@ -24,8 +35,12 @@ fn tile1(c: &mut Criterion) {
|
|||||||
.expect("failed to load tile");
|
.expect("failed to load tile");
|
||||||
let layer = tile.layers().first().unwrap();
|
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)));
|
c.bench_function("tessselate", |b| b.iter(|| tessselate(layer)));
|
||||||
}
|
}
|
||||||
|
|
||||||
criterion_group!(benches, tile1);
|
criterion_group!(benches, parse_tile, tessellate_tile);
|
||||||
criterion_main!(benches);
|
criterion_main!(benches);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user