Files
MapLibreParticleLab/benchmark/parse/vector_tile.benchmark.cpp
Tim Sylvester 29428dce42 Add support for parsing MLT-format vector tile sources (#3246)
Co-authored-by: Bart Louwers <bart@emeel.net>
Co-authored-by: Bart Louwers <bart.louwers@gmail.com>
2025-10-31 17:24:12 -07:00

31 lines
973 B
C++

#include <benchmark/benchmark.h>
#include <mbgl/tile/vector_mvt_tile_data.hpp>
#include <mbgl/util/io.hpp>
using namespace mbgl;
static void Parse_VectorTile(benchmark::State& state) {
auto data = std::make_shared<std::string>(
util::read_file("test/fixtures/api/assets/streets/10-163-395.vector.pbf"));
while (state.KeepRunning()) {
std::size_t length = 0;
VectorMVTTileData tile(data);
for (const auto& name : tile.layerNames()) {
if (auto layer = tile.getLayer(name)) {
const std::size_t count = layer->featureCount();
for (std::size_t i = 0; i < count; i++) {
if (auto feature = layer->getFeature(i)) {
length += feature->getGeometries().size();
length += feature->getProperties().size();
}
}
}
}
(void)length;
}
}
BENCHMARK(Parse_VectorTile);