#include "bench_framework.hpp" #include #include #include #include #include #include #include #include #include #include #include class test : public benchmark::test_case { public: test(mapnik::parameters const& params) : test_case(params) {} bool validate() const { return true; } bool operator()() const { mapnik::Map m(256,256,"+init=epsg:3857"); mapnik::parameters params; params["type"]="memory"; auto ds = std::make_shared(params); // add whitespace to trigger phony "reprojection" mapnik::layer lay("layer",m.srs() + " "); lay.set_datasource(ds); lay.add_style("style"); m.add_layer(lay); // dummy style to ensure that layer is processed m.insert_style("style",mapnik::feature_type_style()); // dummy bbox, but "valid" because minx and miny are less // with an invalid bbox then layer.visible() returns false // and the initial rendering setup is not run m.zoom_to_box(mapnik::box2d(-1,-1,0,0)); for (unsigned i=0;i ren(m,im); ren.apply(); } return true; } }; BENCHMARK(test,"rendering with reprojection")