File tree Expand file tree Collapse file tree 2 files changed +39
-0
lines changed Expand file tree Collapse file tree 2 files changed +39
-0
lines changed Original file line number Diff line number Diff line change @@ -129,6 +129,11 @@ name = "area"
129129harness = false
130130required-features = [" flatgeobuf" ]
131131
132+ [[bench ]]
133+ name = " total_bounds"
134+ harness = false
135+ required-features = [" flatgeobuf" ]
136+
132137[[bench ]]
133138name = " from_geo"
134139harness = false
Original file line number Diff line number Diff line change 1+ use criterion:: { criterion_group, criterion_main, Criterion } ;
2+ use geoarrow:: algorithm:: geo:: Area ;
3+ use geoarrow:: algorithm:: native:: TotalBounds ;
4+ use geoarrow:: array:: { AsChunkedNativeArray , MultiPolygonArray } ;
5+ use geoarrow:: io:: flatgeobuf:: read_flatgeobuf;
6+ use geoarrow:: trait_:: ArrayAccessor ;
7+ use std:: fs:: File ;
8+
9+ fn load_file ( ) -> MultiPolygonArray < 2 > {
10+ let mut file = File :: open ( "fixtures/flatgeobuf/countries.fgb" ) . unwrap ( ) ;
11+ let table = read_flatgeobuf ( & mut file, Default :: default ( ) ) . unwrap ( ) ;
12+ table
13+ . geometry_column ( None )
14+ . unwrap ( )
15+ . as_ref ( )
16+ . as_multi_polygon :: < 2 > ( )
17+ . chunks ( )
18+ . first ( )
19+ . unwrap ( )
20+ . clone ( )
21+ }
22+
23+ fn criterion_benchmark ( c : & mut Criterion ) {
24+ let data = load_file ( ) ;
25+
26+ c. bench_function ( "total_bounds" , |bencher| {
27+ bencher. iter ( || {
28+ criterion:: black_box ( criterion:: black_box ( & data) . total_bounds ( ) ) ;
29+ } ) ;
30+ } ) ;
31+ }
32+
33+ criterion_group ! ( benches, criterion_benchmark) ;
34+ criterion_main ! ( benches) ;
You can’t perform that action at this time.
0 commit comments