Skip to content

Commit cb3a420

Browse files
xabbu42wipfli
andauthored
Backport of Migrate Benchmarks to 1.x (#444)
* remove mapbox specific access token code, rename MAPBOX_STYLES to MAPLIBRE_STYLES * fetch maplibre-gl-js releases, adapt to existing changes in bench/versions/benchmarks.js * use a style and tiles from maptiler instead of mapbox * comment out broken benchmarks * remove base.css from mapbox * handle errored status for benchmarks * adapt to maptiler style * also replace mapbox raster sources with suitable replacements from maptiler * replace another mapbox source by maptiler, no idea if this is even used as all benchmarks worked before * fix SymbolLayout benchmark * fix benchmark FilterEvaluate * adapt icon-image to maptiler sprite, revert wrong text-field change * also handle benchmarks from old mapbox releases (#420) * Remove LayoutDDS * Fix page title * enable Validate and Layout benchmarks for styles * Upload `benchmarks_generated.js` to GitHub Pages * Copy only `benchmarks_generated.js` * Copy `benchmarks_generated.js.map` * Update urls for `benchmarks_generated.js` * Adapt upload-benchmarks workflow to 1.x branch * Compare to 1.x head instead of main * Fix test for v1 Co-authored-by: Oliver Wipfli <oliver.wipfli@leichteralsluft.ch>
1 parent 483063a commit cb3a420

16 files changed

Lines changed: 109 additions & 188 deletions
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Upload Benchmarks
2+
3+
on:
4+
push:
5+
branches:
6+
- 1.x
7+
tags:
8+
- v1.*
9+
10+
jobs:
11+
upload_benchmarks:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v2
15+
16+
- name: Use Node.js 10 x64
17+
uses: actions/setup-node@v2
18+
with:
19+
node-version: 10
20+
architecture: x64
21+
22+
- name: Install
23+
run: yarn install --frozen-lockfile
24+
25+
- name: Build benchmarks
26+
run: yarn run build-benchmarks
27+
28+
- name: Copy benchmarks_generated.js
29+
run: |
30+
mkdir tmp
31+
cp bench/versions/benchmarks_generated.js tmp
32+
cp bench/versions/benchmarks_generated.js.map tmp
33+
34+
- name: Upload to GitHub Pages (main)
35+
if: startsWith(github.ref, 'refs/heads/1.x')
36+
uses: peaceiris/actions-gh-pages@v3
37+
with:
38+
github_token: ${{ secrets.GITHUB_TOKEN }}
39+
publish_dir: tmp
40+
destination_dir: benchmarks/1.x
41+
42+
- name: Get tag
43+
if: startsWith(github.ref, 'refs/tags/v')
44+
run: echo "TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
45+
46+
- name: Upload to GitHub Pages (tag)
47+
if: startsWith(github.ref, 'refs/tags/v1.')
48+
uses: peaceiris/actions-gh-pages@v3
49+
with:
50+
github_token: ${{ secrets.GITHUB_TOKEN }}
51+
publish_dir: tmp
52+
destination_dir: benchmarks/${{ env.TAG }}

bench/benchmarks/filter_evaluate.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export default class FilterEvaluate extends Benchmark {
3939
for (const layer of this.layers) {
4040
for (const filter of layer.filters) {
4141
for (const feature of layer.features) {
42-
if (typeof filter({zoom: 0}, feature) !== 'boolean') {
42+
if (typeof filter.filter({zoom: 0}, feature) !== 'boolean') {
4343
assert(false, 'Expected boolean result from filter');
4444
}
4545
}

bench/benchmarks/hillshade_load.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ export default class HillshadeLoad extends Benchmark {
1717
"bearing": 0,
1818
"pitch": 0,
1919
"sources": {
20-
"mapbox://mapbox.terrain-rgb": {
21-
"url": "mapbox://mapbox.terrain-rgb",
22-
"type": "raster-dem",
20+
'terrain-rgb': {
21+
'url': 'https://api.maptiler.com/tiles/terrain-rgb/tiles.json?key=get_your_own_OpIi9ZULNHzrESv6T2vL',
22+
'type': 'raster-dem',
2323
"tileSize": 256
2424
}
2525
},
2626
"layers": [
2727
{
28-
"id": "mapbox-terrain-rgb",
28+
"id": "maplibre-terrain-rgb",
2929
"type": "hillshade",
30-
"source": "mapbox://mapbox.terrain-rgb",
30+
"source": "terrain-rgb",
3131
"layout": {},
3232
"paint": {}
3333
}

bench/benchmarks/layers.js

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ export class LayerCircle extends LayerBenchmark {
6161
layers: generateLayers({
6262
'id': 'circlelayer',
6363
'type': 'circle',
64-
'source': 'composite',
65-
'source-layer': 'poi_label'
64+
'source': 'openmaptiles',
65+
'source-layer': 'poi'
6666
})
6767
});
6868
}
@@ -76,7 +76,7 @@ export class LayerFill extends LayerBenchmark {
7676
layers: generateLayers({
7777
'id': 'filllayer',
7878
'type': 'fill',
79-
'source': 'composite',
79+
'source': 'openmaptiles',
8080
'source-layer': 'building',
8181
'paint': {
8282
'fill-color': 'black',
@@ -95,7 +95,7 @@ export class LayerFillExtrusion extends LayerBenchmark {
9595
layers: generateLayers({
9696
'id': 'fillextrusionlayer',
9797
'type': 'fill-extrusion',
98-
'source': 'composite',
98+
'source': 'openmaptiles',
9999
'source-layer': 'building',
100100
'paint': {
101101
'fill-extrusion-height': 30
@@ -155,7 +155,7 @@ export class LayerHillshade extends LayerBenchmark {
155155
sources: {
156156
'terrain-rgb': {
157157
'type': 'raster-dem',
158-
'url': 'mapbox://mapbox.terrain-rgb'
158+
'url': 'https://api.maptiler.com/tiles/terrain-rgb/tiles.json?key=get_your_own_OpIi9ZULNHzrESv6T2vL'
159159
}
160160
},
161161
layers: generateLayers({
@@ -175,8 +175,8 @@ export class LayerLine extends LayerBenchmark {
175175
layers: generateLayers({
176176
'id': 'linelayer',
177177
'type': 'line',
178-
'source': 'composite',
179-
'source-layer': 'road'
178+
'source': 'openmaptiles',
179+
'source-layer': 'transportation'
180180
})
181181
});
182182
}
@@ -189,7 +189,7 @@ export class LayerRaster extends LayerBenchmark {
189189
this.layerStyle = Object.assign({}, style, {
190190
sources: {
191191
'satellite': {
192-
'url': 'mapbox://mapbox.satellite',
192+
'url': 'https://api.maptiler.com/tiles/satellite/tiles.json?key=get_your_own_OpIi9ZULNHzrESv6T2vL',
193193
'type': 'raster',
194194
'tileSize': 256
195195
}
@@ -211,10 +211,10 @@ export class LayerSymbol extends LayerBenchmark {
211211
layers: generateLayers({
212212
'id': 'symbollayer',
213213
'type': 'symbol',
214-
'source': 'composite',
215-
'source-layer': 'poi_label',
214+
'source': 'openmaptiles',
215+
'source-layer': 'poi',
216216
'layout': {
217-
'icon-image': 'dot-11',
217+
'icon-image': 'dot_11',
218218
'text-field': '{name_en}'
219219
}
220220
})
@@ -230,11 +230,11 @@ export class LayerSymbolWithIcons extends LayerBenchmark {
230230
layers: generateLayers({
231231
'id': 'symbollayer',
232232
'type': 'symbol',
233-
'source': 'composite',
234-
'source-layer': 'poi_label',
233+
'source': 'openmaptiles',
234+
'source-layer': 'poi',
235235
'layout': {
236-
'icon-image': 'dot-11',
237-
'text-field': ['format', ['get', 'name_en'], ['image', 'dot-11']]
236+
'icon-image': 'dot_11',
237+
'text-field': ['format', ['get', 'name_en'], ['image', 'dot_11']]
238238
}
239239
})
240240
});
@@ -256,8 +256,8 @@ export class LayerSymbolWithSortKey extends LayerBenchmark {
256256
generated.push({
257257
'id': `symbollayer${i}`,
258258
'type': 'symbol',
259-
'source': 'composite',
260-
'source-layer': 'poi_label',
259+
'source': 'openmaptiles',
260+
'source-layer': 'poi',
261261
'layout': {
262262
'symbol-sort-key': i,
263263
'text-field': '{name_en}'
@@ -276,8 +276,8 @@ export class LayerTextWithVariableAnchor extends LayerBenchmark {
276276
layers: generateLayers({
277277
'id': 'symbollayer',
278278
'type': 'symbol',
279-
'source': 'composite',
280-
'source-layer': 'poi_label',
279+
'source': 'openmaptiles',
280+
'source-layer': 'poi',
281281
'layout': {
282282
'text-field': 'Test Test Test',
283283
'text-justify': 'auto',

bench/benchmarks/layout.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export default class Layout extends Benchmark {
2626
setup(): Promise<void> {
2727
return fetchStyle(this.style)
2828
.then((styleJSON) => {
29-
this.parser = new TileParser(styleJSON, 'composite');
29+
this.parser = new TileParser(styleJSON, 'openmaptiles');
3030
return this.parser.setup();
3131
})
3232
.then(() => {

bench/benchmarks/layout_dds.js

Lines changed: 0 additions & 113 deletions
This file was deleted.

bench/benchmarks/symbol_layout.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export default class SymbolLayout extends Layout {
3838
tileResult.iconMap,
3939
tileResult.imageAtlas.iconPositions,
4040
false,
41-
tileResult.tileID.canonical);
41+
tileResult.featureIndex.tileID.canonical);
4242
}
4343
}
4444
});

bench/benchmarks/worker_transfer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export default class WorkerTransfer extends Benchmark {
3838

3939
return fetchStyle(this.style)
4040
.then((styleJSON) => {
41-
this.parser = new TileParser(styleJSON, 'composite');
41+
this.parser = new TileParser(styleJSON, 'openmaptiles');
4242
return this.parser.setup();
4343
})
4444
.then(() => {

bench/benchmarks_view.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,7 @@ class BenchmarkStatistic extends React.Component {
354354
case 'running':
355355
return <p>Running...</p>;
356356
case 'error':
357+
case 'errored':
357358
return <p>{this.props.error.message}</p>;
358359
default:
359360
return this.props.statistic(this.props);
@@ -457,7 +458,7 @@ class BenchmarksTable extends React.Component {
457458
render() {
458459
return (
459460
<div style={{width: 960, margin: '2em auto'}}>
460-
<h1 className="space-bottom1">Mapbox GL JS Benchmarks – {
461+
<h1 className="space-bottom1">MapLibre GL JS Benchmarks – {
461462
this.props.finished ?
462463
<span>Finished</span> :
463464
<span>Running</span>}</h1>

bench/data/empty.json

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,16 @@
22
"version": 8,
33
"name": "Empty",
44
"sources": {
5-
"composite": {
6-
"url": "mapbox://mapbox.mapbox-streets-v7",
5+
"openmaptiles": {
6+
"url": "https://api.maptiler.com/tiles/v3/tiles.json?key=get_your_own_OpIi9ZULNHzrESv6T2vL",
77
"type": "vector"
8+
},
9+
"maptiler_attribution": {
10+
"type": "vector",
11+
"attribution": "&lt;a href=\"https://www.maptiler.com/copyright/\"; target=\"_blank\"&gt;&amp;copy; MapTiler&lt;/a&gt; &lt;a href=\"https://www.openstreetmap.org/copyright\"; target=\"_blank\"&gt;&amp;copy; OpenStreetMap contributors&lt;/a&gt;"
812
}
913
},
10-
"sprite": "mapbox://sprites/mapbox/light-v9",
11-
"glyphs": "mapbox://fonts/mapbox/{fontstack}/{range}.pbf",
14+
"sprite": "https://api.maptiler.com/maps/streets/sprite",
15+
"glyphs": "https://api.maptiler.com/fonts/{fontstack}/{range}.pbf?key=get_your_own_OpIi9ZULNHzrESv6T2vL",
1216
"layers": []
1317
}

0 commit comments

Comments
 (0)