Note:
This page is built for desktop and does not currently support mobile.
Results for various map engine benchmarks
A more detailed guide showing hard to quantify metrics can be found here (TODO).
The benchmark was run on a Macbook Pro 2017, 2.9 GHz Quad-Core Intel Core i7, 16 GB 2133 MHz LPDDR3, Radeon Pro 560 4 GB Intel HD Graphics 630 1536 MB (MacOS 13.3.1 (22E261)) (Chrome 114.0.5735.110 (x86_64))
Map Engine Base Metrics
Comparing each engine's total file size accessed by the page (buildSize) and what the initial load cost will be when fetching the html (firstLoadSize)
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
firstLoadSize
(gzipped in kB)
201
271
199
205
Lighthouse Metrics - Desktop
Comparing overall loading performance scores using a desktop fullscreen display
display: 2880 × 1800 @2x
Clusters - couple thousand points to both build the clusters and render them
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
916.8549999999998
916.278
913.1360000000001
916.8975
9843.335
8971.464
9721.870500000003
9075.59
3288.747
3363.668
2879.0765
2640.036
10887.454439442003
8625.553505236903
8815.15116189842
8412.362047402637
42550.5
36296.294
47169.126000000004
34727
46149.319
39845.286
49847.055
38079.1745
3055.155999999992
3991.7199999999852
2933.5759999999905
2874.0199999999904
networkRequestsLists the network requests that were made during page load.
29
31
29
26
scriptDurationScriptDuration
5.52834
6.853129
6.710803
3.506824
7.522176
8.128973
8.160063
4.674358
jsHeapUsedSizeJSHeapUsedSize
35279356
60233536
20640340
24545864
jsHeapTotalSizeJSHeapTotalSize
54665216
78016512
52305920
42082304
Heatmap - couple thousand points to both build the heatmap and render it
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
912.2030000000002
911.6055000000001
912.5749999999999
909.8575
9578.6095
10129.009000000002
9586.800000000001
9679.93
2905.0465000000004
3169.7000000000003
3216.62
2419.772
8908.524777561532
7678.589927128409
11134.874923989495
9037.533095990759
27378.1
44170
42198.455
44030.5
7993
7310
7763
9561.999999999998
29266.904000000002
47927.8425
44363.665
47435.186499999996
2946.203999999993
2999.0719999999897
3812.61999999999
2332.4759999999933
networkRequestsLists the network requests that were made during page load.
28
30
28
25
scriptDurationScriptDuration
4.023543
4.706771
4.315377
2.777182
5.740509
6.137371
5.791532
3.795382
jsHeapUsedSizeJSHeapUsedSize
22109304
18324192
18436508
25759876
jsHeapTotalSizeJSHeapTotalSize
38936576
40771584
37888000
39198720
Light - simpler style to draw
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
926.7824999999999
922.4820000000001
934.4649999999999
908.9034999999999
5764.34
7186.332
5829.379000000001
5238.414999999999
2579.852
4219.2705000000005
3062.1440000000002
2590.3354999999997
10524.69029993877
8278.009398919061
8005.052845744587
5443.492157869688
79444.43049999999
33916.5
79273.32100000001
12105
83417.4215
37718.6685
82397.823
15246.811
3388.2959999999894
5504.51199999999
3581.7560000000008
2466.3159999999884
networkRequestsLists the network requests that were made during page load.
23
25
23
20
scriptDurationScriptDuration
3.733344
5.171019
2.893404
2.943123
5.080564
6.484887
3.954678
3.756551
jsHeapUsedSizeJSHeapUsedSize
36511604
32370396
24005444
32365924
jsHeapTotalSizeJSHeapTotalSize
49684480
52043776
52043776
45490176
Marker - couple of markers to after map is loaded
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
916.635
913.0799999999999
913.8425000000001
924.9945
9167.04
9134.124
8890.580000000002
9054.375
3327.616
3255.428
2940.2875000000004
2503.4625
9977.168603211276
6771.509784902784
8563.493564846638
9266.600585858125
64924.019
17120
51483.71250000001
22661
6261
3466
5417
6158.000000000001
67346.65400000001
20782.775999999998
54167.8225
26000.965
4634.1999999999825
3123.6919999999886
3301.0119999999956
2773.0879999999956
networkRequestsLists the network requests that were made during page load.
27
29
27
24
scriptDurationScriptDuration
9.659013
13.549328
10.051274
12.999364
12.929385
15.885874
11.986585
14.598319
jsHeapUsedSizeJSHeapUsedSize
35067120
33338804
34292168
36659640
jsHeapTotalSizeJSHeapTotalSize
61743104
36052992
69869568
86908928
Outdoor - map with outdoor style
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
904.8275000000001
935.24
916.3064999999999
911.819
26688.344000000005
27093.903999999988
27393.602999999996
26242.783499999998
3041.224
3439.9840000000004
3043.9964999999997
2671.4444999999996
11216.962332369383
10226.90015254603
11641.391495227374
10246.945885143426
95021.60349999995
45059.25599999998
89258.26850000002
26890.500000000007
9229.000000000002
9002.999999999996
8115
6493.999999999996
97592.43099999995
48679.72799999999
91909.57500000001
30346.367000000006
6136.447999999979
6520.944000000006
7842.564000000019
4987.887999999991
networkRequestsLists the network requests that were made during page load.
69
71
69
66
scriptDurationScriptDuration
6.988345
7.016517
5.544543
5.112729
10.357593
8.767338
7.638976
6.650458
jsHeapUsedSizeJSHeapUsedSize
37317112
57146360
35685340
25605340
jsHeapTotalSizeJSHeapTotalSize
49684480
98705408
50995200
78258176
RTL - RTL glyphs including asian countries (CJK) are loaded, built, and rendered
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
908.6614999999999
912.8
908.4675000000001
911.9200000000001
9037.17
9990.137999999999
9365.369999999999
10120.3745
2924.218
3147.4799999999996
2882.5480000000002
2812.072
9360.559405183
8355.818963692249
9842.532156472815
9115.620317129737
56150.3495
30991.82
58316.91949999999
64210.848000000005
6231
4782
6258.999999999999
5655
58585.011
34971.22
60836.62849999999
67066.224
5131.919999999984
4699.379999999974
4426.207999999982
4853.759999999988
networkRequestsLists the network requests that were made during page load.
41
43
41
41
scriptDurationScriptDuration
6.146155
5.140638
5.57178
5.558086
8.024861
6.476345
7.064748
7.082297
jsHeapUsedSizeJSHeapUsedSize
21265984
27377044
25677540
26062732
jsHeapTotalSizeJSHeapTotalSize
39460864
53092352
45228032
41033728
Satellite - style with raster data
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
909.2224999999999
917.6225
914.0325000000001
925.1800000000001
4388.8904999999995
4359.441
4296.548499999999
4977.583500000001
2243.256
2505.696
2212.952
2780.7880000000005
2489.9237150016597
2850.6663011641454
2356.4098543161867
2870.2000256841443
6356.4665
4047
8090.580499999998
4587
1231.0000000000002
1170.9999999999995
1286
1373
8700.289499999999
7435.7695
10591.8715
7681.396000000001
1232.664
1232.7479999999994
1130.9799999999996
1540.4759999999997
networkRequestsLists the network requests that were made during page load.
22
24
22
19
scriptDurationScriptDuration
0.802617
1.155894
0.763742
0.943144
2.005201
2.691938
1.694891
2.513971
jsHeapUsedSizeJSHeapUsedSize
12602748
16453892
7760688
9704264
jsHeapTotalSizeJSHeapTotalSize
30547968
31617024
29499392
26877952
Streets - style with default vector data
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
934.1904999999998
947.0074999999999
912.9675
912.0875000000001
10551.257999999998
10615.621
10450.2545
10452.85
3124.366
3404.2119999999995
3112.2479999999996
2938.34
13149.416045646652
9514.637417768567
12680.305401163117
9602.571381399624
168897.00649999996
44188.5
142057.2195
23321.5
171827.197
48042.9165
145197.187
26694.0925
5409.095999999975
4870.847999999969
5492.295999999974
3436.211999999984
networkRequestsLists the network requests that were made during page load.
30
32
30
27
scriptDurationScriptDuration
8.637572
13.342356
8.709115
8.029124
10.400977
15.606219
10.714764
9.621007
jsHeapUsedSizeJSHeapUsedSize
54911988
101801332
36685508
74621920
jsHeapTotalSizeJSHeapTotalSize
73015296
120987648
61480960
93200384
Style Switch - switch between two styles
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
912.4875
909.9799999999999
913.6165000000001
908.5755000000001
10667.341499999999
10253.386000000002
10527.670000000002
10623.852499999999
2948.4799999999996
3515.468
2809.0840000000003
2514.8665
12117.019847103089
10653.688425127806
10892.392960810022
9146.057787430695
148679.5075
32518.512000000002
158558.36849999998
20533
8183
7080.000000000002
7292
7381.999999999997
151658.975
36300.456000000006
161898.24349999998
23928.227999999996
5529.839999999968
5669.37200000001
4919.255999999991
2984.49999999999
networkRequestsLists the network requests that were made during page load.
30
32
30
27
scriptDurationScriptDuration
3.757075
4.011601
3.502502
1.402398
4.889315
5.462602
5.116071
2.179548
jsHeapUsedSizeJSHeapUsedSize
23411132
27312560
21881640
27959308
jsHeapTotalSizeJSHeapTotalSize
39985152
42082304
40247296
39985152
Terrain 3D - 3D terrain style
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
-
912.8575000000001
909.8225
912.2125000000001
-
27840.36
31442.296000000002
20901.7085
-
5332.572
5791.216
2613.7415
-
17950.0039298434
27028.802188765432
15763.991922586978
-
10000.000000000002
10000.000000000004
10000.000000000004
-
90754.28649999999
99440.10949999999
78019.86799999999
-
7864.620000000103
11681.347999995734
10597.763999989093
networkRequestsLists the network requests that were made during page load.
-
46
56
81
scriptDurationScriptDuration
-
7.14867
6.312337
5.55112
-
8.758765
7.875775
6.637505
jsHeapUsedSizeJSHeapUsedSize
-
53602220
31850568
36503820
jsHeapTotalSizeJSHeapTotalSize
-
98967552
49422336
78258176
Lighthouse Metrics - Mobile
Comparing overall loading performance scores using a mobile fullscreen display
dispay: 1125 x 2436 @2x
Clusters - couple thousand points to both build the clusters and render them
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
919.9794999999997
912.0165000000002
911.4075
919.2250000000001
8761.55899999999
8920.107
8664.130000000001
8602.400000000001
2689.565499999999
2659.9970000000003
2377.252
2272.26
11304.10009836996
5593.078053321227
6000.16291762332
6080.670303137513
23249.0895
21805
28277.155499999997
24833
4434
2747
3446
3649.9999999999995
26056.537499999995
25551.076500000003
31432.0965
28276.295
3111.0319999999924
2807.411999999991
2550.6319999999955
2543.003999999996
networkRequestsLists the network requests that were made during page load.
27
29
27
24
scriptDurationScriptDuration
4.082709
5.453128
4.772076
3.279858
5.668853
6.6453
6.474026
4.38451
jsHeapUsedSizeJSHeapUsedSize
36184056
40977212
29985916
31013576
jsHeapTotalSizeJSHeapTotalSize
51257344
60956672
49160192
49422336
Heatmap - couple thousand points to both build the heatmap and render it
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
917.4525
910.2850000000001
924.835
917.3599999999999
8738.31
8894.64
8787.045
8602.939999999999
2472.424
2622.956
2568.763
2176.276
6960.662754775069
6151.401258849028
7375.029091568535
6870.593124662626
24587.5285
37944
24306.167
39540
5726.999999999999
6627
5512.000000000001
7335
26947.3955
41853.627
26945.031000000003
43113.192
3122.019999999994
2566.8239999999914
2991.795999999992
2333.755999999995
networkRequestsLists the network requests that were made during page load.
26
28
26
23
scriptDurationScriptDuration
2.731068
3.96726
3.820763
2.134072
3.90122
5.228961
5.053966
2.83101
jsHeapUsedSizeJSHeapUsedSize
23785180
26115212
20834564
18087184
jsHeapTotalSizeJSHeapTotalSize
37888000
39985152
37101568
32645120
Light - simpler style to draw
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
939.7105000000001
977.6365000000001
914.9404999999999
910.3925
5651.866500000002
8599.943500000001
5245.433499999999
4763.0515000000005
2711.1205
4738.0225
2496
2212.628
6961.289197342383
12100.729498138215
5206.646853174061
4474.936128443831
60415.1845
25417.618500000004
44667.6125
10390
5459
9620
6192.999999999998
2298
63759.5845
29018.410000000003
48332.943499999994
13703.8635
4726.96399999998
6325.751999999989
3078.9559999999974
2107.979999999991
networkRequestsLists the network requests that were made during page load.
23
25
23
20
scriptDurationScriptDuration
2.886058
3.672665
2.623587
2.266714
3.90744
4.81457
3.540031
2.96044
jsHeapUsedSizeJSHeapUsedSize
20607592
17791104
22326268
25103712
jsHeapTotalSizeJSHeapTotalSize
39198720
42868736
46800896
40509440
Marker - couple of markers to after map is loaded
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
917.8974999999999
907.7099999999999
920.1125
911.9849999999999
8876.630000000001
9039.34
8802.95
8882.404999999999
2856.384
2647.336
2548.1800000000003
2264.455
6998.475019714155
4651.217885705728
6180.321489643207
21190.84868967479
42372
12278
29571.932500000003
83148
45151.0305
15975.962
32914.2475
88119.06
3498.0479999999907
2597.419999999993
2993.8079999999927
10141.34399999985
networkRequestsLists the network requests that were made during page load.
27
29
27
26
scriptDurationScriptDuration
9.242258
12.645075
9.44877
12.229545
11.503137
14.878147
11.57256
13.706063
jsHeapUsedSizeJSHeapUsedSize
34410168
28847708
34075888
35118080
jsHeapTotalSizeJSHeapTotalSize
54665216
31334400
61480960
79044608
Outdoor - map with outdoor style
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
912.8755000000001
904.1724999999999
912.9224999999999
911.7324999999998
26403.414500000006
26530.55600000001
26114.577000000012
26191.107999999997
2524.3085000000005
2926.6759999999995
2427.176
2291.489
8018.737802767489
7437.211484075974
8573.851418269118
6982.781484964949
40909.3015
21579.00000000001
54163.24650000001
14864
4128
5306
4055.0000000000073
3612
43824.8755
25212.35200000001
57426.429500000006
18231.838
4059.7959999999866
4470.415999999994
5345.624
3738.8439999999946
networkRequestsLists the network requests that were made during page load.
47
49
47
44
scriptDurationScriptDuration
4.231356
5.835216
4.272003
3.912509
6.588696
7.536622
5.572695
5.243915
jsHeapUsedSizeJSHeapUsedSize
31651632
35629204
33899388
30982356
jsHeapTotalSizeJSHeapTotalSize
47849472
58335232
47587328
43917312
RTL - RTL glyphs including asian countries (CJK) are loaded, built, and rendered
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
911.0699999999999
908.0875
911.1695000000002
915.506
9574.779999999999
9214.469999999998
8742.249
8911.936
2440.712
2648.6040000000003
2431.1285000000003
2584.384
7008.684749925537
5878.986529754761
7669.635279073338
7756.005153431118
29627.358
16786
41723.3315
34783.706000000006
3100
2841.000000000001
3646
4240
32759.354
20618.1805
44925.2535
37886.31
4597.447999999981
4356.235999999992
5429.799999999986
5190.331999999981
networkRequestsLists the network requests that were made during page load.
37
39
37
37
scriptDurationScriptDuration
5.352164
4.153874
4.868789
3.893443
7.002582
5.430781
6.88775
5.578179
jsHeapUsedSizeJSHeapUsedSize
20274940
38760144
23087216
18048528
jsHeapTotalSizeJSHeapTotalSize
33169408
53354496
36052992
35790848
Satellite - style with raster data
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
926.4775
923.0574999999999
951.4300000000001
913.9725000000001
4305.3265
4347.507
4103.290999999999
4076.1674999999996
2087.864
2327.392
2071.5879999999997
2073.3559999999998
2352.3472434338155
2639.6024797802324
2374.4319417558186
2187.132526084148
3501.1135000000004
2405.0000000000005
5302.342
4125
6428.2505
5815.726500000001
8255.746
7358.7395
994.06
1060.6159999999995
991.9600000000004
995.3280000000002
networkRequestsLists the network requests that were made during page load.
21
23
21
18
scriptDurationScriptDuration
0.662579
0.970387
0.660179
0.776089
1.464444
2.102559
1.376485
1.679067
jsHeapUsedSizeJSHeapUsedSize
11943488
11898016
14299220
10450348
jsHeapTotalSizeJSHeapTotalSize
26877952
28209152
27140096
26615808
Streets - style with default vector data
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
917.2280000000002
914.3425
914.2824999999999
910.9679999999998
7517.611500000001
7619.370000000001
10144.13
9967.480500000001
2516.0865000000003
2749.9480000000003
2506.352
2306.7484999999997
8419.773314398895
6952.395256415083
9421.790950552924
7784.023408430782
71471.666
24716
93415.43049999999
15581
75227.959
28446.553499999998
97012.4215
18800.916
4234.231999999981
4055.51199999998
4499.511999999982
2870.2639999999938
networkRequestsLists the network requests that were made during page load.
30
32
30
27
scriptDurationScriptDuration
7.552099
12.503002
9.269651
7.905574
9.275581
14.310075
10.998309
9.165855
jsHeapUsedSizeJSHeapUsedSize
32108092
53812360
32847380
67638036
jsHeapTotalSizeJSHeapTotalSize
58073088
130424832
61480960
101588992
Style Switch - switch between two styles
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
907.3995000000001
919.46
912.1360000000002
911.0975
10138.876
10476.84
10086.788
10008.46
2467.4880000000003
2762.636
2354.771
2240.3954999999996
8493.733645605862
6139.55532335629
8113.90226510924
7038.971398005401
78831.5795
22730.5
66286.764
14526
4046
4664
3607
3784.9999999999995
82553.6725
26521.311999999998
70162.63399999999
17778.761
4550.571999999972
3399.7199999999825
3728.872000000001
2731.2639999999924
networkRequestsLists the network requests that were made during page load.
30
32
30
27
scriptDurationScriptDuration
2.970496
3.164269
2.697461
1.135591
4.280708
4.340248
3.683258
1.825421
jsHeapUsedSizeJSHeapUsedSize
21436316
19083380
20858700
17003828
jsHeapTotalSizeJSHeapTotalSize
33955840
37888000
37625856
31858688
Terrain 3D - 3D terrain style
Mapbox GL v1.13.1
Mapbox GL v2.7.11
Maplibre GL v2.4.0
Maplibre GL v3.1.0
-
911.345
910.6600000000001
905.9399999999999
-
18182.570000000003
23850.80799999999
21287.408000000003
-
3932.652
3497.5560000000005
2316.504
-
11703.564562432784
19260.88647050207
11386.62848020558
-
55479
151148.604
59565.499999999985
-
59277.959
154799.452
63252.56799999999
-
6301.640000000058
8498.30799999901
7369.131999991688
networkRequestsLists the network requests that were made during page load.
-
38
45
59
scriptDurationScriptDuration
-
5.891964
4.922315
4.311517
-
7.062111
6.206128
5.093578
jsHeapUsedSizeJSHeapUsedSize
-
51600996
29756620
54454780
jsHeapTotalSizeJSHeapTotalSize
-
70131712
46276608
71442432