Skip to content

Conversation

@ZeLonewolf
Copy link
Contributor

Fixes openmaptiles/openmaptiles-tools#363

This PR migrates the SQL in the transportation and transportation_name layer to use the new imposm3 mappings which now map a separate primary key ID.

@ZeLonewolf
Copy link
Contributor Author

ZeLonewolf commented Sep 24, 2021

I recommend that #1245 be merged before this PR so that we can have a unit test for the update process before touching update code.

@github-actions
Copy link

github-actions bot commented Sep 24, 2021

Results evaluating commit 1523be6 (merged with base ac577fe as c00e31e). See run details.

PostgreSQL DB size in MB: 2793 ⇒ 2856 (2.3% change)

step total time change user time change
1_data 2:16.86 3.3% 2.98 2.4%
2_osm 1:56.26 -7.2% 2.20 -2.2%
3_wikidata 0:20.19 -25.3% 1.53 0.0%
4_sql 4:08.09 -27.1% 2.27 -0.9%
test-perf 11:18.55 -5.7% 0.78 0.0%

Per-test generation speed (longer is better)
########################################################################################
████████████████████ 410.8 tiles/s +13.5% in test bbox_test_1, 117459 tiles in 0:04:45.9
████                  94.6 tiles/s -1.9% in test bbox_test_2, 1511 tiles in 0:00:15.9   
████                  84.0 tiles/s +7.0% in test bbox_test_3, 6501 tiles in 0:01:17.3   
                       9.6 tiles/s -2.3% in test bbox_test_4, 2723 tiles in 0:04:43     

Per-test average tile sizes (shorter is better)
#########################################################################################
                     158.6 per tile +12.8% in test bbox_test_1, 117459 tiles in 0:04:45.9
█                     2.6K per tile +18.6% in test bbox_test_2, 1511 tiles in 0:00:15.9  
█                     2.6K per tile +13.0% in test bbox_test_3, 6501 tiles in 0:01:17.3  
████████████████████ 31.8K per tile +18.5% in test bbox_test_4, 2723 tiles in 0:04:43    

Per-zoom generation speed (longer is better)
#####################################################################################
                                   2.2 tiles/s -62.0% at z0, 4 tiles in 0:00:01.8    
                                   7.7 tiles/s -75.8% at z1, 6 tiles in 0:00:00.7    
                                   8.7 tiles/s -43.4% at z2, 6 tiles in 0:00:00.6    
                                   9.2 tiles/s -40.0% at z3, 6 tiles in 0:00:00.6    
                                   7.3 tiles/s -5.5% at z4, 6 tiles in 0:00:00.7     
█                                 10.4 tiles/s -14.9% at z5, 9 tiles in 0:00:00.8    
█                                 10.9 tiles/s -1.4% at z6, 11 tiles in 0:00:01      
█                                 15.2 tiles/s -44.5% at z7, 20 tiles in 0:00:01.3   
██                                28.7 tiles/s -26.1% at z8, 48 tiles in 0:00:01.6   
█████                             54.5 tiles/s -16.7% at z9, 132 tiles in 0:00:02.4  
█████                             57.3 tiles/s -9.1% at z10, 437 tiles in 0:00:07.5  
████████████████████████████████ 321.9 tiles/s +1.6% at z11, 1603 tiles in 0:00:04.9 
████████                          83.0 tiles/s +1.9% at z12, 6154 tiles in 0:01:14.1 
████████████                     122.0 tiles/s +2.7% at z13, 24161 tiles in 0:03:18  
██████████████████████████       261.6 tiles/s +9.9% at z14, 95591 tiles in 0:06:05.3

Per-zoom average tile sizes (shorter is better)
#####################################################################################
████                           13.6K per tile ±0.0% at z0, 4 tiles in 0:00:01.8      
██████████████████████████████ 89.3K per tile +4.3% at z1, 6 tiles in 0:00:00.7      
███████████████████████████    81.3K per tile +5.6% at z2, 6 tiles in 0:00:00.6      
████████████                   38.0K per tile +9.7% at z3, 6 tiles in 0:00:00.6      
████████                       25.1K per tile +7.1% at z4, 6 tiles in 0:00:00.7      
███                            10.1K per tile +23.2% at z5, 9 tiles in 0:00:00.8     
███                            10.0K per tile +24.1% at z6, 11 tiles in 0:00:01      
███                            11.3K per tile +26.8% at z7, 20 tiles in 0:00:01.3    
███                             9.3K per tile +25.3% at z8, 48 tiles in 0:00:01.6    
██                              7.2K per tile +20.9% at z9, 132 tiles in 0:00:02.4   
█                               3.5K per tile +27.9% at z10, 437 tiles in 0:00:07.5  
                                1.7K per tile +38.4% at z11, 1603 tiles in 0:00:04.9 
                                1.4K per tile +18.4% at z12, 6154 tiles in 0:01:14.1 
                               738.4 per tile +12.2% at z13, 24161 tiles in 0:03:18  
                               984.2 per tile +16.9% at z14, 95591 tiles in 0:06:05.3

Generated 128,194 tiles in 0:11:02.3, 193.5 tiles/s +6.2%, 1,000.2 bytes/tile +16.9%
Saving results to /tileset/pr-results.json
expand for details...
Hardware reset test-perf ...
Hardware reset test-perf done
Comparing results with a previous run created 9:43:52.4 ago: /tileset/results.json
Connecting to PostgreSQL at postgres:5432, db=openmaptiles, user=openmaptiles...
* version()                       = PostgreSQL 9.6.23 on x86_64-pc-linux-gnu (Debian 9.6.23-1.pgdg110+1), compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
* postgis_full_version()          = POSTGIS="3.1.4 ded6c34" [EXTENSION] PGSQL="96" GEOS="3.9.1-CAPI-1.14.2" PROJ="7.2.1" LIBXML="2.9.10" LIBJSON="0.15" LIBPROTOBUF="1.3.3" WAGYU="0.5.0 (Internal)"
* jit                             = unrecognized configuration parameter "jit"
* shared_buffers                  = 128MB
* work_mem                        = 4MB
* maintenance_work_mem            = 64MB
* effective_cache_size            = 4GB
* effective_io_concurrency        = 1
* max_connections                 = 100
* max_worker_processes            = 8
* max_parallel_workers            = unrecognized configuration parameter "max_parallel_workers"
* max_parallel_workers_per_gather = 0
* wal_buffers                     = 4MB
* min_wal_size                    = 80MB
* max_wal_size                    = 1GB
* random_page_cost                = 4
* default_statistics_target       = 100
* checkpoint_completion_target    = 0.5

Validating SQL fields in all layers of the tileset

Running all layers test "bbox_test_1" at zoom 0 (1 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 1 tiles (~1/line) done in 0:00:01.6 (0.6 tiles/s -81.6%)
#####################################################################################
█████████████████████████████ 13.6K avg size ±0.0%, 13,965B (0/0/0) — 13,965B (0/0/0)


Running all layers test "bbox_test_1" at zoom 1 (2 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.4 (3.7 tiles/s -184.0%)
#####################################################################################
█████                       30.6K avg size +5.5%, 31,294B (1/1/1) — 31,294B (1/1/1)  
██████████████████████████ 139.5K avg size +3.5%, 142,817B (1/1/0) — 142,817B (1/1/0)


Running all layers test "bbox_test_1" at zoom 2 (2 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.4 (4.8 tiles/s -104.3%)
#####################################################################################
██████                      28.9K avg size +13.0%, 29,566B (2/2/2) — 29,566B (2/2/2) 
██████████████████████████ 124.1K avg size +3.3%, 127,073B (2/2/1) — 127,073B (2/2/1)


Running all layers test "bbox_test_1" at zoom 3 (2 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.2 (6.8 tiles/s -79.1%)
#####################################################################################
██████████████████            27.3K avg size +5.8%, 27,975B (3/4/4) — 27,975B (3/4/4)
█████████████████████████████ 41.8K avg size +9.2%, 42,801B (3/4/3) — 42,801B (3/4/3)


Running all layers test "bbox_test_1" at zoom 4 (2 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.4 (4.2 tiles/s -74.0%)
#####################################################################################
██████████████               13.7K avg size +27.2%, 14,068B (4/8/8) — 14,068B (4/8/8)
████████████████████████████ 26.0K avg size +2.9%, 26,660B (4/8/7) — 26,660B (4/8/7) 


Running all layers test "bbox_test_1" at zoom 5 (4 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 4 tiles (~1/line) done in 0:00:00.4 (8.2 tiles/s -70.9%)
#####################################################################################
████████                   4.3K avg size +83.2%, 4,413B (5/16/16) — 4,413B (5/16/16) 
███████████                5.6K avg size +63.4%, 5,715B (5/17/16) — 5,715B (5/17/16) 
█████████████              6.3K avg size +58.5%, 6,414B (5/17/15) — 6,414B (5/17/15) 
█████████████████████████ 12.0K avg size +3.7%, 12,321B (5/16/15) — 12,321B (5/16/15)


Running all layers test "bbox_test_1" at zoom 6 (6 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 6 tiles (~1/line) done in 0:00:00.5 (9.5 tiles/s -35.2%)
#####################################################################################
██████                     3.9K avg size +90.8%, 3,979B (6/32/32) — 3,979B (6/32/32) 
████████                   4.7K avg size +75.4%, 4,813B (6/32/31) — 4,813B (6/32/31) 
██████████                 5.7K avg size +68.9%, 5,863B (6/33/32) — 5,863B (6/33/32) 
██████████                 6.0K avg size +64.7%, 6,189B (6/34/32) — 6,189B (6/34/32) 
██████████████             8.1K avg size +37.7%, 8,315B (6/34/31) — 8,315B (6/34/31) 
█████████████████████████ 13.9K avg size +2.6%, 14,252B (6/33/31) — 14,252B (6/33/31)


Running all layers test "bbox_test_1" at zoom 7 (12 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 12 tiles (~1/line) done in 0:00:00.8 (13.2 tiles/s -128.3%)
#####################################################################################
█                         1.3K avg size +66.8%, 1,119B (7/65/62) — 1,490B (7/65/63)  
███                       2.8K avg size +61.5%, 2,860B (7/65/64) — 2,860B (7/65/64)  
████████                  7.1K avg size +83.0%, 7,241B (7/66/64) — 7,241B (7/66/64)  
████████                  7.2K avg size +79.3%, 7,385B (7/68/64) — 7,385B (7/68/64)  
█████████                 8.2K avg size +79.0%, 8,435B (7/67/64) — 8,435B (7/67/64)  
█████████                 8.5K avg size +67.0%, 8,465B (7/66/63) — 9,042B (7/68/62)  
████████████             10.7K avg size +59.7%, 10,960B (7/66/62) — 10,960B (7/66/62)
█████████████            11.3K avg size +50.8%, 11,595B (7/68/63) — 11,595B (7/68/63)
███████████████          13.9K avg size +40.5%, 14,199B (7/67/62) — 14,199B (7/67/62)
████████████████████████ 20.9K avg size +14.3%, 21,376B (7/67/63) — 21,376B (7/67/63)


Running all layers test "bbox_test_1" at zoom 8 (36 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 36 tiles (~4/line) done in 0:00:01 (34.2 tiles/s -71.4%)
#####################################################################################
                     154.0 avg size +4.2%, 152B (8/132/126) — 156B (8/131/125)       
                     799.2 avg size +80.5%, 292B (8/134/129) — 1,037B (8/136/124)    
█                     1.3K avg size +67.9%, 1,058B (8/131/124) — 1,565B (8/133/129)  
██                    1.9K avg size +51.9%, 1,594B (8/132/124) — 2,240B (8/136/128)  
███                   2.8K avg size +63.9%, 2,670B (8/133/127) — 3,063B (8/131/128)  
███                   3.1K avg size +63.7%, 3,088B (8/132/128) — 3,276B (8/134/128)  
████                  3.7K avg size +46.4%, 3,502B (8/135/124) — 4,116B (8/133/126)  
████████              6.9K avg size +59.2%, 6,093B (8/133/125) — 8,760B (8/136/127)  
████████████         10.1K avg size +55.2%, 9,244B (8/134/127) — 11,883B (8/135/127) 
████████████████████ 15.7K avg size +29.5%, 13,421B (8/134/125) — 20,474B (8/135/126)


Running all layers test "bbox_test_1" at zoom 9 (110 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 110 tiles (~11/line) done in 0:00:01.3 (79.0 tiles/s -28.6%)
#####################################################################################
                        0.0 avg size ±0.0%, 0B (9/269/257) — 0B (9/271/258)          
                        7.1 avg size +100.0%, 0B (9/272/249) — 78B (9/265/250)       
                       91.4 avg size +54.6%, 78B (9/265/253) — 103B (9/263/254)      
                      103.6 avg size +8.5%, 103B (9/265/252) — 107B (9/266/254)      
                      155.4 avg size +33.6%, 116B (9/268/258) — 211B (9/269/258)     
█                     687.5 avg size +79.4%, 225B (9/269/256) — 1,401B (9/272/255)   
██                     1.6K avg size +88.8%, 1,406B (9/264/256) — 1,946B (9/268/255) 
████                   2.7K avg size +78.6%, 1,985B (9/273/253) — 3,461B (9/263/257) 
███████                4.8K avg size +47.2%, 3,504B (9/264/257) — 8,305B (9/268/251) 
█████████████████████ 13.3K avg size +26.5%, 9,592B (9/269/252) — 23,039B (9/271/253)


Running all layers test "bbox_test_1" at zoom 10 (378 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 378 tiles (~38/line) done in 0:00:02.3 (163.6 tiles/s -50.7%)
######################################################################################
                       0.0 avg size ±0.0%, 0B (10/538/499) — 0B (10/542/514)          
                       0.0 avg size ±0.0%, 0B (10/542/515) — 0B (10/546/503)          
                      22.1 avg size +30.7%, 0B (10/546/504) — 78B (10/529/510)        
                      78.0 avg size ±0.0%, 78B (10/529/513) — 78B (10/533/501)        
                      83.9 avg size +7.0%, 78B (10/533/502) — 102B (10/528/507)       
                     102.7 avg size +4.2%, 102B (10/528/508) — 103B (10/535/508)      
                     122.7 avg size +17.0%, 103B (10/535/509) — 156B (10/527/503)     
█                    496.6 avg size +66.9%, 156B (10/527/511) — 1,348B (10/544/509)   
█████                 2.1K avg size +67.1%, 1,351B (10/544/504) — 3,495B (10/535/501) 
████████████████████  7.4K avg size +28.3%, 3,661B (10/542/509) — 15,511B (10/536/501)


Running all layers test "bbox_test_1" at zoom 11 (1,435 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 1,435 tiles (~144/line) done in 0:00:02.8 (501.5 tiles/s +8.2%)
##########################################################################################
                       0.0 avg size ±0.0%, 0B (11/1075/1029) — 0B (11/1084/1033)          
                       0.0 avg size ±0.0%, 0B (11/1085/999) — 0B (11/1091/1009)           
                      15.2 avg size +13.7%, 0B (11/1091/1010) — 76B (11/1087/1022)        
                      78.0 avg size +0.6%, 76B (11/1088/1022) — 78B (11/1060/1031)        
                      78.0 avg size ±0.0%, 78B (11/1060/1032) — 78B (11/1065/1032)        
                      78.0 avg size ±0.0%, 78B (11/1065/1033) — 78B (11/1070/1025)        
                      86.9 avg size +3.4%, 78B (11/1070/1026) — 102B (11/1072/1032)       
                     104.4 avg size +2.7%, 102B (11/1072/1033) — 127B (11/1079/1008)      
███                  557.7 avg size +56.0%, 128B (11/1075/1028) — 1,419B (11/1085/1009)   
████████████████████  3.6K avg size +32.1%, 1,420B (11/1082/1016) — 14,458B (11/1079/1013)


Running all layers test "bbox_test_1" at zoom 12 (5,600 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 5,600 tiles (~560/line) done in 0:00:19.6 (284.8 tiles/s +7.3%)
########################################################################################
                       0.0 avg size ±0.0%, 0B (12/2117/1998) — 0B (12/2167/2062)        
                       0.0 avg size ±0.0%, 0B (12/2167/2063) — 0B (12/2180/2011)        
                       2.0 avg size +12.6%, 0B (12/2180/2012) — 70B (12/2162/2041)      
                      75.9 avg size +0.3%, 70B (12/2163/2041) — 78B (12/2117/2032)      
                      78.0 avg size ±0.0%, 78B (12/2117/2033) — 78B (12/2126/2026)      
                      78.0 avg size ±0.0%, 78B (12/2126/2027) — 78B (12/2135/2002)      
                      78.0 avg size ±0.0%, 78B (12/2135/2003) — 78B (12/2145/2060)      
                      82.5 avg size +2.2%, 78B (12/2145/2061) — 102B (12/2144/2040)     
█                    163.2 avg size +16.9%, 102B (12/2144/2041) — 466B (12/2156/2042)   
████████████████████  2.7K avg size +21.1%, 477B (12/2165/2024) — 64,102B (12/2147/2005)


Running all layers test "bbox_test_1" at zoom 13 (22,101 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 22,101 tiles (~2210/line) done in 0:00:53.1 (415.6 tiles/s +15.5%)
#######################################################################################
                      0.0 avg size ±0.0%, 0B (13/4232/3996) — 0B (13/4333/4115)        
                      0.0 avg size ±0.0%, 0B (13/4333/4116) — 0B (13/4358/4020)        
                      0.0 avg size ±0.0%, 0B (13/4358/4021) — 0B (13/4376/4025)        
█                    66.4 avg size +1.1%, 0B (13/4376/4026) — 78B (13/4229/4041)       
█                    78.0 avg size ±0.0%, 78B (13/4229/4042) — 78B (13/4246/4027)      
█                    78.0 avg size ±0.0%, 78B (13/4246/4028) — 78B (13/4262/4128)      
█                    78.0 avg size ±0.0%, 78B (13/4262/4129) — 78B (13/4279/4057)      
█                    78.0 avg size ±0.0%, 78B (13/4279/4058) — 78B (13/4299/4053)      
█                    87.1 avg size +1.8%, 78B (13/4299/4054) — 104B (13/4255/4031)     
████████████████████ 1.3K avg size +16.9%, 104B (13/4255/4095) — 46,414B (13/4295/4010)


Running all layers test "bbox_test_1" at zoom 14 (87,768 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 87,768 tiles (~8777/line) done in 0:03:20 (438.6 tiles/s +15.6%)
#######################################################################################
                       0.0 avg size ±0.0%, 0B (14/8463/7993) — 0B (14/8666/8009)       
                       0.0 avg size ±0.0%, 0B (14/8666/8010) — 0B (14/8714/8095)       
                       0.0 avg size ±0.0%, 0B (14/8714/8096) — 0B (14/8750/8160)       
█                     61.5 avg size +1.0%, 0B (14/8750/8161) — 78B (14/8452/8218)      
██                    78.0 avg size ±0.0%, 78B (14/8452/8219) — 78B (14/8485/8152)     
██                    78.0 avg size ±0.0%, 78B (14/8485/8153) — 78B (14/8518/8171)     
██                    78.0 avg size ±0.0%, 78B (14/8518/8172) — 78B (14/8551/8022)     
██                    78.0 avg size ±0.0%, 78B (14/8551/8023) — 78B (14/8586/8086)     
██                    78.0 avg size ±0.0%, 78B (14/8586/8087) — 78B (14/8640/8058)     
████████████████████ 772.0 avg size +12.9%, 78B (14/8640/8059) — 69,114B (14/8591/8021)


Running all layers test "bbox_test_2" at zoom 0 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (14.0 tiles/s +31.7%)
#####################################################################################
█████████████████████████████ 13.6K avg size ±0.0%, 13,965B (0/0/0) — 13,965B (0/0/0)


Running all layers test "bbox_test_2" at zoom 1 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (12.9 tiles/s -0.2%)
#####################################################################################
██████████████████████████ 139.5K avg size +3.5%, 142,817B (1/1/0) — 142,817B (1/1/0)


Running all layers test "bbox_test_2" at zoom 2 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (12.0 tiles/s +0.1%)
#####################################################################################
██████████████████████████ 124.1K avg size +3.3%, 127,073B (2/2/1) — 127,073B (2/2/1)


Running all layers test "bbox_test_2" at zoom 3 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00.1 (8.0 tiles/s -19.4%)
#####################################################################################
█████████████████████████████ 61.1K avg size +7.9%, 62,576B (3/4/2) — 62,576B (3/4/2)


Running all layers test "bbox_test_2" at zoom 4 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00.1 (6.4 tiles/s +46.5%)
#####################################################################################
█████████████████████████████ 42.7K avg size +4.4%, 43,688B (4/8/5) — 43,688B (4/8/5)


Running all layers test "bbox_test_2" at zoom 5 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00.1 (9.2 tiles/s +31.2%)
#####################################################################################
█████████████████████████ 11.8K avg size +8.1%, 12,095B (5/16/11) — 12,095B (5/16/11)


Running all layers test "bbox_test_2" at zoom 6 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (13.4 tiles/s +8.7%)
#####################################################################################
████████████████████████████ 7.6K avg size +2.1%, 7,807B (6/33/22) — 7,807B (6/33/22)


Running all layers test "bbox_test_2" at zoom 7 (2 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 2 tiles (~1/line) done in 0:00:00 (20.8 tiles/s +17.8%)
#####################################################################################
█████████████████████        6.9K avg size +9.3%, 7,036B (7/67/45) — 7,036B (7/67/45)
████████████████████████████ 8.8K avg size -9.6%, 8,982B (7/67/44) — 8,982B (7/67/44)


Running all layers test "bbox_test_2" at zoom 8 (2 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (19.1 tiles/s +2.0%)
#####################################################################################
████████████████          6.3K avg size +37.0%, 6,409B (8/134/90) — 6,409B (8/134/90)
█████████████████████████ 9.6K avg size -19.9%, 9,864B (8/134/89) — 9,864B (8/134/89)


Running all layers test "bbox_test_2" at zoom 9 (6 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 6 tiles (~1/line) done in 0:00:00.1 (42.5 tiles/s -7.6%)
#####################################################################################
████                   4.6K avg size +100.0%, 4,664B (9/268/178) — 4,664B (9/268/178)
████                   4.6K avg size +100.0%, 4,664B (9/268/179) — 4,664B (9/268/179)
████                   4.6K avg size +100.0%, 4,664B (9/268/180) — 4,664B (9/268/180)
████                   4.7K avg size +98.2%, 4,813B (9/269/178) — 4,813B (9/269/178) 
████████               8.5K avg size +62.0%, 8,730B (9/269/180) — 8,730B (9/269/180) 
█████████████████████ 21.2K avg size -4.4%, 21,718B (9/269/179) — 21,718B (9/269/179)


Running all layers test "bbox_test_2" at zoom 10 (12 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 12 tiles (~1/line) done in 0:00:00.1 (71.8 tiles/s -14.9%)
#######################################################################################
                       0.0 avg size ±0.0%, 0B (10/537/357) — 0B (10/537/358)           
                       0.0 avg size ±0.0%, 0B (10/537/359) — 0B (10/537/359)           
                       0.0 avg size ±0.0%, 0B (10/537/360) — 0B (10/537/360)           
                       0.0 avg size ±0.0%, 0B (10/538/357) — 0B (10/538/357)           
                     119.0 avg size +100.0%, 119B (10/539/357) — 119B (10/539/357)     
█████                 8.8K avg size +94.0%, 8,436B (10/538/358) — 9,610B (10/539/358)  
█████                 9.8K avg size +88.4%, 10,034B (10/538/360) — 10,034B (10/538/360)
██████               10.3K avg size +79.9%, 10,517B (10/539/360) — 10,517B (10/539/360)
███████              12.8K avg size +56.1%, 13,092B (10/538/359) — 13,092B (10/538/359)
████████████████████ 33.0K avg size +4.1%, 33,762B (10/539/359) — 33,762B (10/539/359) 


Running all layers test "bbox_test_2" at zoom 11 (30 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 30 tiles (~3/line) done in 0:00:00.2 (135.3 tiles/s +9.4%)
#########################################################################################
                       0.0 avg size ±0.0%, 0B (11/1075/715) — 0B (11/1075/717)           
                       0.0 avg size ±0.0%, 0B (11/1075/718) — 0B (11/1075/720)           
                       0.0 avg size ±0.0%, 0B (11/1076/715) — 0B (11/1076/717)           
                       0.0 avg size ±0.0%, 0B (11/1076/718) — 0B (11/1076/720)           
                       0.0 avg size ±0.0%, 0B (11/1077/715) — 0B (11/1079/715)           
                     181.3 avg size +100.0%, 123B (11/1078/715) — 295B (11/1078/716)     
███                   4.2K avg size +99.2%, 3,794B (11/1077/717) — 5,171B (11/1079/720)  
█████                 6.9K avg size +93.4%, 5,665B (11/1078/717) — 8,467B (11/1078/720)  
███████               9.6K avg size +82.7%, 9,362B (11/1079/718) — 10,599B (11/1077/718) 
████████████████████ 25.0K avg size +25.4%, 12,038B (11/1077/719) — 35,204B (11/1078/719)


Running all layers test "bbox_test_2" at zoom 12 (88 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 88 tiles (~9/line) done in 0:00:03.7 (23.1 tiles/s +2.1%)
###########################################################################################
                       0.0 avg size ±0.0%, 0B (12/2151/1431) — 0B (12/2151/1439)           
                       0.0 avg size ±0.0%, 0B (12/2151/1440) — 0B (12/2152/1437)           
                       0.0 avg size ±0.0%, 0B (12/2152/1438) — 0B (12/2153/1435)           
                       0.0 avg size ±0.0%, 0B (12/2153/1436) — 0B (12/2154/1433)           
                       0.0 avg size ±0.0%, 0B (12/2154/1434) — 0B (12/2154/1441)           
                       0.0 avg size ±0.0%, 0B (12/2155/1431) — 0B (12/2156/1434)           
                      26.9 avg size +100.0%, 0B (12/2157/1441) — 148B (12/2157/1431)       
                     773.8 avg size +91.5%, 208B (12/2158/1432) — 2,036B (12/2155/1435)    
███                   5.1K avg size +77.7%, 2,223B (12/2157/1435) — 11,081B (12/2155/1439) 
████████████████████ 31.3K avg size +20.2%, 12,640B (12/2155/1437) — 59,756B (12/2156/1437)


Running all layers test "bbox_test_2" at zoom 13 (300 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 300 tiles (~30/line) done in 0:00:03.6 (82.0 tiles/s -3.1%)
##########################################################################################
                       0.0 avg size ±0.0%, 0B (13/4302/2863) — 0B (13/4303/2872)          
                       0.0 avg size ±0.0%, 0B (13/4303/2873) — 0B (13/4304/2882)          
                       0.0 avg size ±0.0%, 0B (13/4305/2863) — 0B (13/4306/2872)          
                       0.0 avg size ±0.0%, 0B (13/4306/2873) — 0B (13/4307/2882)          
                       0.0 avg size ±0.0%, 0B (13/4308/2863) — 0B (13/4309/2872)          
                       0.0 avg size ±0.0%, 0B (13/4309/2873) — 0B (13/4311/2863)          
                       0.0 avg size ±0.0%, 0B (13/4311/2864) — 0B (13/4314/2865)          
                       0.0 avg size ±0.0%, 0B (13/4314/2866) — 0B (13/4316/2882)          
█                     1.1K avg size +59.7%, 90B (13/4316/2866) — 3,236B (13/4311/2880)    
████████████████████ 19.9K avg size +18.0%, 3,849B (13/4312/2880) — 43,354B (13/4313/2877)


Running all layers test "bbox_test_2" at zoom 14 (1,064 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1,064 tiles (~106/line) done in 0:00:07 (150.2 tiles/s -7.5%)
###########################################################################################
                       0.0 avg size ±0.0%, 0B (14/8605/5727) — 0B (14/8607/5757)           
                       0.0 avg size ±0.0%, 0B (14/8607/5758) — 0B (14/8610/5749)           
                       0.0 avg size ±0.0%, 0B (14/8610/5750) — 0B (14/8613/5742)           
                       0.0 avg size ±0.0%, 0B (14/8613/5743) — 0B (14/8616/5734)           
                       0.0 avg size ±0.0%, 0B (14/8616/5735) — 0B (14/8618/5764)           
                       0.0 avg size ±0.0%, 0B (14/8619/5727) — 0B (14/8621/5759)           
                       0.0 avg size ±0.0%, 0B (14/8621/5760) — 0B (14/8626/5727)           
                       0.0 avg size ±0.0%, 0B (14/8626/5728) — 0B (14/8631/5743)           
                     284.8 avg size +37.9%, 0B (14/8631/5744) — 1,449B (14/8630/5759)      
████████████████████ 21.2K avg size +15.2%, 1,655B (14/8629/5748) — 101,515B (14/8625/5753)


Running all layers test "bbox_test_3" at zoom 0 (1 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (14.5 tiles/s -7.0%)
#####################################################################################
█████████████████████████████ 13.6K avg size ±0.0%, 13,965B (0/0/0) — 13,965B (0/0/0)


Running all layers test "bbox_test_3" at zoom 1 (1 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (12.5 tiles/s +4.3%)
#####################################################################################
█████████████████████████████ 43.3K avg size +7.2%, 44,320B (1/0/0) — 44,320B (1/0/0)


Running all layers test "bbox_test_3" at zoom 2 (1 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (11.3 tiles/s +4.7%)
#####################################################################################
████████████████████████████ 43.5K avg size +13.0%, 44,509B (2/1/1) — 44,509B (2/1/1)


Running all layers test "bbox_test_3" at zoom 3 (1 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (10.1 tiles/s -31.4%)
#####################################################################################
█████████████████████████████ 21.5K avg size +7.2%, 22,004B (3/2/3) — 22,004B (3/2/3)


Running all layers test "bbox_test_3" at zoom 4 (1 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (10.4 tiles/s +14.4%)
#####################################################################################
█████████████████████████████ 12.5K avg size +3.5%, 12,837B (4/4/6) — 12,837B (4/4/6)


Running all layers test "bbox_test_3" at zoom 5 (2 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (12.8 tiles/s +8.5%)
#####################################################################################
███████████████████          7.8K avg size +24.3%, 8,001B (5/8/12) — 8,001B (5/8/12) 
███████████████████████████ 10.7K avg size +1.5%, 10,908B (5/9/12) — 10,908B (5/9/12)


Running all layers test "bbox_test_3" at zoom 6 (2 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (10.2 tiles/s +14.9%)
#####################################################################################
████                       5.1K avg size +34.6%, 5,217B (6/17/24) — 5,217B (6/17/24) 
█████████████████████████ 25.6K avg size +5.0%, 26,228B (6/18/24) — 26,228B (6/18/24)


Running all layers test "bbox_test_3" at zoom 7 (4 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 4 tiles (~1/line) done in 0:00:00.1 (21.2 tiles/s +1.3%)
#####################################################################################
████                      3.4K avg size +55.3%, 3,473B (7/35/49) — 3,473B (7/35/49)  
█████                     4.5K avg size +44.6%, 4,567B (7/35/48) — 4,567B (7/35/48)  
████████████████████     15.4K avg size +1.4%, 15,807B (7/36/48) — 15,807B (7/36/48) 
████████████████████████ 18.0K avg size +13.4%, 18,426B (7/36/49) — 18,426B (7/36/49)


Running all layers test "bbox_test_3" at zoom 8 (6 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 6 tiles (~1/line) done in 0:00:00.1 (32.6 tiles/s +21.1%)
#####################################################################################
█                      1,016.0 avg size +17.4%, 1,016B (8/71/98) — 1,016B (8/71/98)  
██                        2.2K avg size +54.4%, 2,213B (8/71/97) — 2,213B (8/71/97)  
███                       3.8K avg size +44.7%, 3,893B (8/72/98) — 3,893B (8/72/98)  
███████                   7.7K avg size +34.9%, 7,865B (8/72/97) — 7,865B (8/72/97)  
█████████████            13.7K avg size +25.5%, 14,000B (8/73/98) — 14,000B (8/73/98)
██████████████████████   21.6K avg size +2.5%, 22,080B (8/73/97) — 22,080B (8/73/97) 


Running all layers test "bbox_test_3" at zoom 9 (12 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 12 tiles (~1/line) done in 0:00:00.2 (41.1 tiles/s -0.4%)
#####################################################################################
                       0.0 avg size ±0.0%, 0B (9/143/195) — 0B (9/143/196)           
                       0.0 avg size ±0.0%, 0B (9/144/195) — 0B (9/144/195)           
                       0.0 avg size ±0.0%, 0B (9/144/196) — 0B (9/144/196)           
                      1.1K avg size +100.0%, 1,083B (9/143/194) — 1,083B (9/143/194) 
                      1.7K avg size +100.0%, 1,718B (9/145/196) — 1,718B (9/145/196) 
                      1.9K avg size +32.2%, 1,718B (9/146/194) — 2,089B (9/144/194)  
                      3.2K avg size +42.3%, 3,270B (9/145/195) — 3,270B (9/145/195)  
                      3.5K avg size +42.3%, 3,586B (9/145/194) — 3,586B (9/145/194)  
██                   10.0K avg size +35.2%, 10,223B (9/146/196) — 10,223B (9/146/196)
████████████████████ 72.0K avg size -0.3%, 73,734B (9/146/195) — 73,734B (9/146/195) 


Running all layers test "bbox_test_3" at zoom 10 (35 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 35 tiles (~4/line) done in 0:00:01.7 (19.3 tiles/s +4.4%)
######################################################################################
                       0.0 avg size ±0.0%, 0B (10/287/390) — 0B (10/288/388)          
                       0.0 avg size ±0.0%, 0B (10/288/390) — 0B (10/288/392)          
                       0.0 avg size ±0.0%, 0B (10/289/390) — 0B (10/290/391)          
                       0.0 avg size ±0.0%, 0B (10/290/392) — 0B (10/291/389)          
                       0.0 avg size ±0.0%, 0B (10/292/388) — 0B (10/293/389)          
                      1.0K avg size +98.1%, 959B (10/287/388) — 1,139B (10/287/389)   
                      1.4K avg size +40.0%, 1,157B (10/290/390) — 1,875B (10/291/392) 
█                     2.0K avg size +43.4%, 1,875B (10/293/390) — 2,338B (10/292/390) 
█                     3.4K avg size +48.0%, 2,449B (10/290/389) — 5,244B (10/293/392) 
████████████████████ 38.2K avg size +12.3%, 9,571B (10/292/392) — 78,013B (10/292/391)


Running all layers test "bbox_test_3" at zoom 11 (96 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 96 tiles (~10/line) done in 0:00:00.5 (165.2 tiles/s +9.5%)
######################################################################################
                       0.0 avg size ±0.0%, 0B (11/575/779) — 0B (11/576/781)          
                       0.0 avg size ±0.0%, 0B (11/576/782) — 0B (11/577/784)          
                       0.0 avg size ±0.0%, 0B (11/578/779) — 0B (11/579/780)          
                       0.0 avg size ±0.0%, 0B (11/579/781) — 0B (11/580/784)          
                       0.0 avg size ±0.0%, 0B (11/581/777) — 0B (11/582/782)          
                       0.0 avg size ±0.0%, 0B (11/582/783) — 0B (11/584/779)          
                      96.8 avg size +100.0%, 0B (11/584/780) — 968B (11/582/781)      
█                     1.1K avg size +62.6%, 981B (11/575/777) — 1,280B (11/581/780)   
█                     1.6K avg size +20.5%, 1,415B (11/579/777) — 1,988B (11/581/779) 
████████████████████ 17.0K avg size +18.3%, 3,018B (11/584/784) — 78,592B (11/585/783)


Running all layers test "bbox_test_3" at zoom 12 (322 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 322 tiles (~32/line) done in 0:00:08.3 (38.5 tiles/s +4.6%)
#############################################################################################
                         0.0 avg size ±0.0%, 0B (12/1151/1557) — 0B (12/1153/1564)           
                         0.0 avg size ±0.0%, 0B (12/1153/1565) — 0B (12/1156/1559)           
                         0.0 avg size ±0.0%, 0B (12/1156/1560) — 0B (12/1158/1566)           
                         0.0 avg size ±0.0%, 0B (12/1158/1567) — 0B (12/1161/1561)           
                         0.0 avg size ±0.0%, 0B (12/1161/1562) — 0B (12/1164/1559)           
                         0.0 avg size ±0.0%, 0B (12/1164/1561) — 0B (12/1167/1559)           
                         0.0 avg size ±0.0%, 0B (12/1167/1560) — 0B (12/1170/1555)           
                         0.0 avg size ±0.0%, 0B (12/1170/1556) — 0B (12/1173/1561)           
█                    1,004.3 avg size +45.6%, 0B (12/1173/1562) — 1,328B (12/1160/1556)      
████████████████████   16.7K avg size +10.4%, 1,378B (12/1152/1556) — 171,295B (12/1171/1566)


Running all layers test "bbox_test_3" at zoom 13 (1,232 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 1,232 tiles (~123/line) done in 0:00:18.4 (66.9 tiles/s +1.7%)
########################################################################################
                       0.0 avg size ±0.0%, 0B (13/2303/3110) — 0B (13/2307/3133)        
                       0.0 avg size ±0.0%, 0B (13/2307/3134) — 0B (13/2312/3126)        
                       0.0 avg size ±0.0%, 0B (13/2312/3127) — 0B (13/2317/3117)        
                       0.0 avg size ±0.0%, 0B (13/2317/3118) — 0B (13/2321/3136)        
                       0.0 avg size ±0.0%, 0B (13/2321/3137) — 0B (13/2327/3113)        
                       0.0 avg size ±0.0%, 0B (13/2327/3114) — 0B (13/2331/3136)        
                       0.0 avg size ±0.0%, 0B (13/2331/3137) — 0B (13/2336/3132)        
                       0.0 avg size ±0.0%, 0B (13/2336/3133) — 0B (13/2341/3137)        
                      78.0 avg size +87.5%, 0B (13/2342/3110) — 902B (13/2344/3136)     
████████████████████ 11.8K avg size +8.4%, 933B (13/2346/3134) — 148,425B (13/2343/3133)


Running all layers test "bbox_test_3" at zoom 14 (4,785 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 4,785 tiles (~478/line) done in 0:00:46.7 (102.3 tiles/s +9.3%)
#######################################################################################
                       0.0 avg size ±0.0%, 0B (14/4606/6220) — 0B (14/4615/6227)       
                       0.0 avg size ±0.0%, 0B (14/4615/6228) — 0B (14/4624/6239)       
                       0.0 avg size ±0.0%, 0B (14/4624/6240) — 0B (14/4633/6241)       
                       0.0 avg size ±0.0%, 0B (14/4633/6242) — 0B (14/4642/6241)       
                       0.0 avg size ±0.0%, 0B (14/4642/6242) — 0B (14/4651/6260)       
                       0.0 avg size ±0.0%, 0B (14/4651/6261) — 0B (14/4660/6268)       
                       0.0 avg size ±0.0%, 0B (14/4660/6269) — 0B (14/4670/6232)       
                       0.0 avg size ±0.0%, 0B (14/4670/6233) — 0B (14/4679/6235)       
                       0.0 avg size ±0.0%, 0B (14/4679/6236) — 0B (14/4690/6220)       
████████████████████ 29.0K avg size +13.3%, 0B (14/4690/6221) — 564,182B (14/4686/6265)


Running all layers test "bbox_test_4" at zoom 0 (1 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (16.1 tiles/s +5.9%)
#####################################################################################
█████████████████████████████ 13.6K avg size ±0.0%, 13,965B (0/0/0) — 13,965B (0/0/0)


Running all layers test "bbox_test_4" at zoom 1 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00 (24.2 tiles/s +10.2%)
#####################################################################################
████████                    43.3K avg size +7.2%, 44,320B (1/0/0) — 44,320B (1/0/0)  
██████████████████████████ 139.5K avg size +3.5%, 142,817B (1/1/0) — 142,817B (1/1/0)


Running all layers test "bbox_test_4" at zoom 2 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00 (20.2 tiles/s +0.1%)
#####################################################################################
█████████                   43.5K avg size +13.0%, 44,509B (2/1/1) — 44,509B (2/1/1) 
██████████████████████████ 124.1K avg size +3.3%, 127,073B (2/2/1) — 127,073B (2/2/1)


Running all layers test "bbox_test_4" at zoom 3 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (14.6 tiles/s -10.7%)
#####################################################################################
███████                      15.4K avg size +35.4%, 15,785B (3/3/2) — 15,785B (3/3/2)
████████████████████████████ 61.1K avg size +7.9%, 62,576B (3/4/2) — 62,576B (3/4/2) 


Running all layers test "bbox_test_4" at zoom 4 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00 (20.8 tiles/s +6.7%)
#####################################################################################
████████                     13.0K avg size +15.0%, 13,303B (4/7/5) — 13,303B (4/7/5)
████████████████████████████ 42.7K avg size +4.4%, 43,688B (4/8/5) — 43,688B (4/8/5) 


Running all layers test "bbox_test_4" at zoom 5 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (17.3 tiles/s +18.8%)
#####################################################################################
████████████████████     15.1K avg size +28.5%, 15,513B (5/16/10) — 15,513B (5/16/10)
████████████████████████ 17.5K avg size +14.5%, 17,922B (5/15/10) — 17,922B (5/15/10)


Running all layers test "bbox_test_4" at zoom 6 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (19.2 tiles/s +51.2%)
#####################################################################################
████████████████         12.3K avg size +28.4%, 12,549B (6/32/21) — 12,549B (6/32/21)
████████████████████████ 17.5K avg size +8.7%, 17,888B (6/31/21) — 17,888B (6/31/21) 


Running all layers test "bbox_test_4" at zoom 7 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (15.6 tiles/s +38.2%)
#####################################################################################
███████████████           25.4K avg size +9.8%, 25,980B (7/64/42) — 25,980B (7/64/42)
█████████████████████████ 41.9K avg size -4.3%, 42,895B (7/63/42) — 42,895B (7/63/42)


Running all layers test "bbox_test_4" at zoom 8 (4 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 4 tiles (~1/line) done in 0:00:00.3 (12.0 tiles/s +10.9%)
#####################################################################################
██                    16.4K avg size +39.4%, 16,835B (8/128/84) — 16,835B (8/128/84) 
███                   20.8K avg size +43.8%, 21,271B (8/127/84) — 21,271B (8/127/84) 
███████               47.5K avg size +18.9%, 48,665B (8/128/85) — 48,665B (8/128/85) 
████████████████████ 135.7K avg size +0.2%, 138,991B (8/127/85) — 138,991B (8/127/85)


Running all layers test "bbox_test_4" at zoom 9 (4 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 4 tiles (~1/line) done in 0:00:00.5 (6.7 tiles/s -4.5%)
########################################################################################
█                     20.2K avg size +65.0%, 20,698B (9/256/169) — 20,698B (9/256/169)  
██                    47.2K avg size +37.0%, 48,375B (9/255/169) — 48,375B (9/255/169)  
██████               123.7K avg size +13.6%, 126,647B (9/256/170) — 126,647B (9/256/170)
████████████████████ 354.8K avg size +2.3%, 363,362B (9/255/170) — 363,362B (9/255/170) 


Running all layers test "bbox_test_4" at zoom 10 (12 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 12 tiles (~1/line) done in 0:00:03.3 (3.6 tiles/s +2.3%)
##########################################################################################
                       5.4K avg size +83.6%, 5,352B (10/513/339) — 5,746B (10/513/341)    
                       8.4K avg size +73.8%, 8,556B (10/513/340) — 8,556B (10/513/340)    
█                     21.6K avg size +85.7%, 22,092B (10/510/341) — 22,092B (10/510/341)  
█                     22.4K avg size +85.7%, 22,920B (10/510/339) — 22,920B (10/510/339)  
█                     28.7K avg size +69.3%, 29,364B (10/512/339) — 29,364B (10/512/339)  
██                    54.1K avg size +43.8%, 44,819B (10/512/341) — 66,073B (10/511/339)  
████                  85.5K avg size +27.9%, 87,567B (10/511/341) — 87,567B (10/511/341)  
█████                101.4K avg size +19.6%, 103,842B (10/510/340) — 103,842B (10/510/340)
███████              148.6K avg size +15.7%, 152,205B (10/512/340) — 152,205B (10/512/340)
████████████████████ 375.5K avg size +6.3%, 384,557B (10/511/340) — 384,557B (10/511/340) 


Running all layers test "bbox_test_4" at zoom 11 (42 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 42 tiles (~4/line) done in 0:00:01.3 (31.9 tiles/s -24.8%)
############################################################################################
                      566.8 avg size +100.0%, 0B (11/1020/678) — 1,091B (11/1025/678)       
                       2.0K avg size +100.0%, 1,284B (11/1026/682) — 2,944B (11/1025/683)   
                       3.4K avg size +100.0%, 3,017B (11/1021/683) — 4,087B (11/1026/680)   
                       4.2K avg size +97.5%, 4,149B (11/1022/678) — 4,389B (11/1020/682)    
                       7.1K avg size +88.6%, 5,864B (11/1022/683) — 8,401B (11/1020/681)    
█                     14.5K avg size +81.2%, 8,909B (11/1025/682) — 21,932B (11/1021/682)   
████                  39.3K avg size +55.6%, 30,339B (11/1025/681) — 50,832B (11/1025/680)  
███████               65.6K avg size +40.1%, 51,911B (11/1024/682) — 79,024B (11/1021/680)  
███████████          101.5K avg size +37.1%, 91,229B (11/1023/682) — 116,607B (11/1024/680) 
████████████████████ 178.7K avg size +31.7%, 142,516B (11/1022/681) — 225,354B (11/1023/680)


Running all layers test "bbox_test_4" at zoom 12 (144 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 144 tiles (~14/line) done in 0:00:42.3 (3.4 tiles/s -1.5%)
##############################################################################################
                        0.0 avg size ±0.0%, 0B (12/2041/1356) — 0B (12/2043/1367)             
                        0.0 avg size ±0.0%, 0B (12/2044/1356) — 0B (12/2050/1357)             
                        0.0 avg size ±0.0%, 0B (12/2050/1367) — 0B (12/2052/1367)             
                      944.8 avg size +100.0%, 828B (12/2043/1358) — 1,217B (12/2052/1362)     
                       1.8K avg size +79.4%, 1,453B (12/2052/1360) — 2,571B (12/2042/1364)    
                       5.7K avg size +53.0%, 2,669B (12/2041/1360) — 11,821B (12/2043/1359)   
██                    21.5K avg size +22.7%, 12,168B (12/2044/1365) — 38,197B (12/2042/1360)  
███████               70.4K avg size +13.4%, 39,426B (12/2050/1362) — 92,214B (12/2046/1359)  
███████████          111.5K avg size +16.6%, 94,343B (12/2047/1364) — 139,938B (12/2045/1363) 
████████████████████ 196.2K avg size +18.8%, 141,343B (12/2045/1360) — 307,885B (12/2046/1361)


Running all layers test "bbox_test_4" at zoom 13 (528 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 528 tiles (~53/line) done in 0:02:02.7 (4.3 tiles/s -3.8%)
#############################################################################################
                        0.0 avg size ±0.0%, 0B (13/4082/2713) — 0B (13/4085/2730)            
                        0.0 avg size ±0.0%, 0B (13/4085/2731) — 0B (13/4092/2714)            
                        0.0 avg size ±0.0%, 0B (13/4092/2715) — 0B (13/4100/2734)            
                        0.0 avg size ±0.0%, 0B (13/4101/2713) — 0B (13/4104/2725)            
                      277.2 avg size +96.0%, 0B (13/4104/2726) — 893B (13/4083/2720)         
                       2.0K avg size +47.1%, 896B (13/4087/2731) — 4,894B (13/4096/2718)     
██                    14.2K avg size +14.8%, 5,485B (13/4097/2719) — 26,828B (13/4093/2731)  
███████               38.0K avg size +10.9%, 26,902B (13/4085/2721) — 48,935B (13/4092/2718) 
███████████           59.2K avg size +10.8%, 49,355B (13/4087/2725) — 73,313B (13/4093/2720) 
████████████████████ 105.5K avg size +11.9%, 73,563B (13/4090/2722) — 207,093B (13/4093/2723)


Running all layers test "bbox_test_4" at zoom 14 (1,974 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 1,974 tiles (~197/line) done in 0:01:51.4 (17.7 tiles/s -1.1%)
#############################################################################################
                        0.0 avg size ±0.0%, 0B (14/8164/5427) — 0B (14/8170/5435)            
                        0.0 avg size ±0.0%, 0B (14/8170/5436) — 0B (14/8180/5435)            
                        0.0 avg size ±0.0%, 0B (14/8180/5464) — 0B (14/8197/5431)            
                        0.0 avg size ±0.0%, 0B (14/8197/5432) — 0B (14/8205/5451)            
                        0.0 avg size ±0.0%, 0B (14/8205/5452) — 0B (14/8210/5462)            
                       1.3K avg size +42.6%, 0B (14/8210/5463) — 4,445B (14/8190/5434)       
█                     13.8K avg size +22.5%, 4,445B (14/8194/5464) — 26,625B (14/8169/5449)  
███                   38.6K avg size +21.2%, 26,736B (14/8194/5440) — 53,998B (14/8195/5443) 
██████                71.5K avg size +19.7%, 54,146B (14/8186/5461) — 98,811B (14/8188/5455) 
████████████████████ 205.9K avg size +18.2%, 99,626B (14/8180/5448) — 824,127B (14/8185/5447)




@ZeLonewolf ZeLonewolf marked this pull request as ready for review September 24, 2021 03:31
@TomPohys
Copy link
Member

TomPohys commented Oct 8, 2021

Thank you for working on this! Could you please just not merging into the master branch but into master-tools branch? Thank you.

@ZeLonewolf
Copy link
Contributor Author

@TomPohys I attempted this in #1243, however master-tools will not pass CI as long as the master branch still has the older imposm. So I'm not sure how to get around that but this PR at least holds the SQL fix ready to go for when omt-tools gets upated I guess?

See comments by @nyurik: #1243 (comment)

Perhaps it might be possible to do a micro-release of omt-tools that upgrades imposm and does nothing else?

@TomPohys
Copy link
Member

TomPohys commented Oct 8, 2021

Oh, sorry I missed the #1243. Let`s wait for openmaptiles/openmaptiles-tools#378 and then we will release new tools. Is it OK for you?

@ZeLonewolf ZeLonewolf marked this pull request as draft October 8, 2021 11:08
@ZeLonewolf
Copy link
Contributor Author

That makes sense to me. I just converted this to draft while we wait for that release. Also I am not sure what's going on with the reported tile size inflation but I suspect it has to do with the newer omt-tools.

@nyurik nyurik marked this pull request as ready for review October 8, 2021 22:53
@nyurik nyurik self-requested a review October 8, 2021 22:53
@nyurik nyurik changed the title Upgrade omt-tools and migrate SQL Upgrade to omt-tools v6 and migrate SQL Oct 8, 2021
@nyurik
Copy link
Member

nyurik commented Oct 8, 2021

@TomPohys I will postpone run-psql until 6.1 - i am not too happy with the ctrl+c and error handling in it. I have released 6.0, so we can proceed with this merge.

@TomPohys
Copy link
Member

TomPohys commented Oct 8, 2021

Before merge, the tile size have to be solved.

@nyurik
Copy link
Member

nyurik commented Oct 8, 2021

@TomPohys agree, should figure out what's going on there - i.e. what causes this increase. Note that tile size is computed ONLY from the ST_AsMVT(), and the 6.0 didn't change PG version (i will double check this), so it must be something else?

@ZeLonewolf
Copy link
Contributor Author

Since we're seeing the increase as low as z1, we can probably rule out the constraint changes in the transportation table, since transportation objects aren't rendered at that low of a zoom.

@nyurik
Copy link
Member

nyurik commented Oct 9, 2021

I suspect missing gzip, but will have to dig into it tomorrow.

After some digging, it seems we are not comparing apples to apples.  During perf test, we start from a preloaded image, but they have different data between 5.3 and 6.0. This change forces the postgres to 5.3 preloaded data to see if the DB size would change.  Also note that the new 6.0 postgres contains specific GEOS version 3.9.1, and also downloads natural earth data from another source - `http://naciscdn.org/naturalearth/packages/natural_earth_vector.sqlite.zip` -> `https://naturalearth.s3.amazonaws.com/packages/natural_earth_vector.sqlite.zip`
@nyurik
Copy link
Member

nyurik commented Oct 10, 2021

From 1c25e99: After some digging, it seems we are not comparing apples to apples. During perf test, we start from a preloaded image, but they have different data between 5.3 and 6.0. This change forces the postgres to 5.3 preloaded data to see if the DB size would change. Also note that the new 6.0 postgres contains specific GEOS version 3.9.1, and also downloads natural earth data from another source - http://naciscdn.org/naturalearth/packages/natural_earth_vector.sqlite.zip -> https://naturalearth.s3.amazonaws.com/packages/natural_earth_vector.sqlite.zip

@ZeLonewolf
Copy link
Contributor Author

Great analysis @nyurik! Because this PR also updates the SQL, I'm concerned about inadvertently breaking something on the SQL side with the transition to dual key. Ideally we could upgrade the postgres version without upgrading the imposm version as a separate step in order to re-baseline the tile size. But, maybe I'm overcomplicating things.

@nyurik
Copy link
Member

nyurik commented Oct 12, 2021

Comparison process -- please try this locally to see what results you get:

  • create two dirs old and new, each containing a copy of the OMT repository - old=master, new=this PR.
  • open two terminals side by side - one in old and one in new dirs. ALL steps below should be done in both dirs, can be done in parallel at the same time.
  • run docker-compose pull
  • Make sure database does not exist with make destroy-db.
  • Make sure git dir is clean. Use git clean -dfx --dry-run to see what extra files/dirs you have. If you don't need any shown extras, tell git to delete them by removing the --dry-run.
  • run make all start-db to build files and create a new database
  • download test data curl -L --output data/perf-test-areas.osm.pbf "https://drive.google.com/uc?export=download&id=18nP3f06aBBiEKhUNmAkqq30gqQnU2_VJ" (may want to download just once and copy)
  • run make import-data to load natural earth data
  • run make import-osm area=perf-test-areas to load OSM data with Imposm
  • modify docker-compose.yaml file and change openmaptiles-tools: image to image: "openmaptiles/openmaptiles-tools:latest" -- needed to use the latest features of debug-mvt. IMPORTANT DO NOT change docker-compose before running import-* commands, only after you are done with the import. And revert back to original before re-running import.
  • run make bash
    • run this command to print row counts in all existing tables (sorted): psql -q -t <<< "select string_agg(format('SELECT ''%1\$I'', count(*) FROM %1\$I', tablename), ' UNION ALL ') || ' ORDER BY 1;' FROM pg_tables WHERE schemaname = 'public';"|psql
      • You may want to append > counts.txt to save the output to a file, and after you run it in both dirs, compare those two files.
    • run debug-mvt openmaptiles.yaml 14/8185/5447 --sort-output --hide-column rank > tile.txt -- this would save the content of a tile to the text file that can be easily compared. Sort-output is needed because SQL can return layers and features in different order. The rank column represent specific result order, so hiding it makes diffing less noisy.

running perf-test

To run perf test the same as in C: first run this in the old window inside the make bash:

test-perf openmaptiles.yaml --minzoom 0 --maxzoom 14 \
                --bbox 5.4172943,-1.6732196,12.3733400,4.3475256 \
                --bbox 9.0900979,46.9688169,9.6717077,47.5258072 \
                --bbox -78.7749754,38.7820235,-76.8957735,39.6985009 \
                --bbox -0.6124681,51.2268449,0.3996690,51.7873570 \
                --record results.json

Once finished, copy the old/results.json to new/results.json and run this command:

test-perf openmaptiles.yaml --minzoom 0 --maxzoom 14 \
                --bbox 5.4172943,-1.6732196,12.3733400,4.3475256 \
                --bbox 9.0900979,46.9688169,9.6717077,47.5258072 \
                --bbox -78.7749754,38.7820235,-76.8957735,39.6985009 \
                --bbox -0.6124681,51.2268449,0.3996690,51.7873570 \
                --compare results.json --record new-results.json

Notes

I picked 14/8185/5447 simply based on the performance results posted above (click "expand details" under perf results). Any other tile will work just as well, but the bigger ones would have more changes I think.

My results for the above tile showed that the v6 had a few more rows than the one before. The layers had a few bytes of changes, not significant enough. Here are the rows that were not included in the previous version -- this be due to the change in GEOS version change (better geometry fixing?), or due to imposm now including more data. The 1% smaller housenumber layer might be due to geometry changes being encoded a bit differently by PBF, but hard to tell without diving into binary comparison. Geometry sizes and all other data is identical

Layer building: 200,004 --> 200,133
colour        hide_3d      render_height    render_min_height     osm_id  is_valid_mvt    mvtgeometry        is_valid_geom    geometry
                                       5                    0   33632838  True            POLYGON(232)       True             POLYGON(376)
                                       5                    0   97209477  True            POLYGON(152)       True             POLYGON(152)
                                      15                    0  134071432  True            POLYGON(216)       True             POLYGON(216)

Layer housenumber: 107,909 --> 107,513 -- the layer is SMALLER
<no changes>

Layer poi: 329,882 --> 330,019 bytes
agg_stop    class                 indoor    layer    level  name                                                                            name_de                                                                         name_en                                                                         subclass                          osm_id  is_valid_mvt    mvtgeometry    is_valid_geom    geometry
            lodging                                         Holiday Inn London Regents Park                                                 Holiday Inn London Regents Park                                                 Holiday Inn London Regents Park                                                 hotel                         1082519651  True            POINT(32)      True             POINT(32)
            park                                            Tavistock Square                                                                Tavistock Square                                                                Tavistock Square                                                                park                            32418401  True            POINT(32)      True             POINT(32)

Layer transportation: 52,418 --> 52,487 bytes
access    bicycle     brunnel    class               foot        horse      indoor    layer    level  mtb_scale    network      oneway    ramp  service        subclass    surface    toll    is_valid_mvt    mvtgeometry           is_valid_geom    geometry
                                 path                                                                                                0       0                 pedestrian                     True            POLYGON(424)          True             POLYGON(520)

@nyurik
Copy link
Member

nyurik commented Oct 12, 2021

Digging deeper: running psql in both above shells: The POI Holiday Inn London Regents Park with osm_id = 1082519651 is actually fake -- the SQL changes original with osm_id * 10 + 1. Deleting last digit is found in v6 result, but it does NOT exist in the v5.3 one with this query: select * from osm_poi_polygon where osm_id = 108251965;. Same result with select * from osm_poi_polygon where osm_id = 3241840;.

Checking the building layer has similar result - v6 has that data but v5.3 does not (unlike POI, the original osm_id is used): select * from osm_all_buildings where osm_id = 33632838;

@ZeLonewolf
Copy link
Contributor Author

ZeLonewolf commented Oct 12, 2021

When I ran this comparison between the two branches, I got the same size for the transportation layer: 52,487. In fact, a diff of the debug-mvt out produced no differences -- identical files. That gives me confidence that we haven't broken anything with the import. It still leaves an open question as to whether the dual-key in update_osm_route_member() is correctly handled since this test doesn't perform updates.

@nyurik
Copy link
Member

nyurik commented Oct 13, 2021

@ZeLonewolf I'm actually getting the same result now... which is really weird because I got different tables in the other run, which means my testing was flawed... I'm still trying to figure out the problem... Something is fishy..... One thing I did notice already -- by default Imposm used to use NORMAL mode, but now it uses DIFF mode. I am not too happy with this sudden breaking change -- i think its due to openmaptiles/openmaptiles-tools#365

@nyurik
Copy link
Member

nyurik commented Oct 13, 2021

Update: I was correct in the first run -- the tables DO change if I am careful to start from clean slate. The testing steps were updated above. Old Imposm creates fewer rows in these tables from exactly the same data, using exactly the same postgreSQL and PostGIS.

table v5.3 v6.0 difference
osm_building_polygon 688226 688381 155
osm_highway_polygon 5206 5239 33
osm_housenumber_point 379296 379314 18
osm_landcover_polygon 38610 38651 41
osm_landuse_polygon 31731 31755 24
osm_landuse_polygon_gen_z10 1509 1511 2
osm_landuse_polygon_gen_z11 4878 4885 7
osm_landuse_polygon_gen_z12 11013 11024 11
osm_landuse_polygon_gen_z13 19201 19220 19
osm_landuse_polygon_gen_z6 38 39 1
osm_landuse_polygon_gen_z7 38 39 1
osm_landuse_polygon_gen_z8 38 39 1
osm_landuse_polygon_gen_z9 292 293 1
osm_poi_polygon 63649 63758 109
osm_water_polygon 3133 3140 7
osm_water_polygon_gen_z10 173 176 3
osm_water_polygon_gen_z11 425 428 3
osm_water_polygon_gen_z9 60 61 1

@nyurik
Copy link
Member

nyurik commented Oct 13, 2021

Another surprising update: manual testing showed no significant change in tile size (under 0.1%)... Seems like our CI perf testing has a bug somewhere. @ZeLonewolf and @TomPohys - can you follow my testing steps above, and see if you get similar results please?

================ SUMMARY ================
Per-test generation speed (longer is better)
#######################################################################################################################
████████████████████████████████████████████████████ 676.1 tiles/s +0.8% in test bbox_test_1, 117459 tiles in 0:02:53.6
█████████████████████████                            332.6 tiles/s +2.9% in test bbox_test_2, 1511 tiles in 0:00:04.4  
█████████████                                        179.1 tiles/s +1.0% in test bbox_test_3, 6501 tiles in 0:00:36.2  
█                                                     22.7 tiles/s +0.6% in test bbox_test_4, 2723 tiles in 0:02:00    

Per-test average tile sizes (shorter is better)
#######################################################################################################################
                                                    158.6 per tile +0.0% in test bbox_test_1, 117459 tiles in 0:02:53.6
████                                                 2.6K per tile +0.0% in test bbox_test_2, 1511 tiles in 0:00:04.4  
████                                                 2.6K per tile +0.1% in test bbox_test_3, 6501 tiles in 0:00:36.2  
███████████████████████████████████████████████████ 31.8K per tile +0.0% in test bbox_test_4, 2723 tiles in 0:02:00    

Per-zoom generation speed (longer is better)
#######################################################################################################################
█                                                                   23.1 tiles/s +2.8% at z0, 4 tiles in 0:00:00.1     
██                                                                  32.5 tiles/s +0.6% at z1, 6 tiles in 0:00:00.1     
██                                                                  28.8 tiles/s +0.4% at z2, 6 tiles in 0:00:00.2     
██                                                                  32.9 tiles/s +1.6% at z3, 6 tiles in 0:00:00.1     
██                                                                  32.8 tiles/s +2.2% at z4, 6 tiles in 0:00:00.1     
██                                                                  27.2 tiles/s +0.5% at z5, 9 tiles in 0:00:00.3     
█████                                                               60.7 tiles/s +2.3% at z6, 11 tiles in 0:00:00.1    
██████                                                              77.6 tiles/s +2.3% at z7, 20 tiles in 0:00:00.2    
█████████                                                          113.4 tiles/s +2.2% at z8, 48 tiles in 0:00:00.4    
███████████████████████                                            276.7 tiles/s +2.0% at z9, 132 tiles in 0:00:00.4   
██████████████████████████████████████████                         500.3 tiles/s +1.8% at z10, 437 tiles in 0:00:00.8  
██████████████████████████████████████████████████████████████████ 768.6 tiles/s +2.0% at z11, 1603 tiles in 0:00:02   
████████████████████████████████                                   373.5 tiles/s +0.9% at z12, 6154 tiles in 0:00:16.4 
██████████████████                                                 218.7 tiles/s +0.7% at z13, 24161 tiles in 0:01:50.4
████████████████████████████████████████                           472.8 tiles/s +0.8% at z14, 95591 tiles in 0:03:22.1

Per-zoom average tile sizes (shorter is better)
#######################################################################################################################
█████████                                                         13.6K per tile ±0.0% at z0, 4 tiles in 0:00:00.1     
█████████████████████████████████████████████████████████████████ 89.3K per tile ±0.0% at z1, 6 tiles in 0:00:00.1     
███████████████████████████████████████████████████████████       81.4K per tile ±0.0% at z2, 6 tiles in 0:00:00.2     
███████████████████████████                                       38.0K per tile ±0.0% at z3, 6 tiles in 0:00:00.1     
██████████████████                                                25.1K per tile ±0.0% at z4, 6 tiles in 0:00:00.1     
███████                                                           10.1K per tile ±0.0% at z5, 9 tiles in 0:00:00.3     
███████                                                            9.9K per tile +0.0% at z6, 11 tiles in 0:00:00.1    
████████                                                          11.2K per tile +0.0% at z7, 20 tiles in 0:00:00.2    
██████                                                             9.3K per tile +0.0% at z8, 48 tiles in 0:00:00.4    
█████                                                              7.2K per tile +0.0% at z9, 132 tiles in 0:00:00.4   
██                                                                 3.5K per tile +0.0% at z10, 437 tiles in 0:00:00.8  
█                                                                  1.7K per tile +0.0% at z11, 1603 tiles in 0:00:02   
█                                                                  1.4K per tile +0.0% at z12, 6154 tiles in 0:00:16.4 
                                                                  738.4 per tile +0.0% at z13, 24161 tiles in 0:01:50.4
                                                                  984.4 per tile +0.0% at z14, 95591 tiles in 0:03:22.1

Generated 128,194 tiles in 0:05:34.6, 383.0 tiles/s +0.8%, 1,000.5 bytes/tile +0.0%

@ZeLonewolf
Copy link
Contributor Author

Looks like zeros across the board in the posted table for tile size change, unless I'm misunderstanding?

Copy link
Member

@nyurik nyurik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, can merge

@nyurik nyurik merged commit f744f9c into openmaptiles:master Oct 14, 2021
@ZeLonewolf ZeLonewolf deleted the upgrade_imposm branch October 14, 2021 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Changed IMPOSM Repo makes problems with make import-sql

3 participants