Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make more simple incremental update #944

Merged
merged 13 commits into from
Aug 28, 2020

Conversation

frodrigo
Copy link
Contributor

@frodrigo frodrigo commented Jun 26, 2020

Replacing update on the whole table with an update only on changed rows.

The goal is to update more quickly by just updating the changing content.
The update now focus on osm_id of changed rows, it use index. Add a where clause tags != update_tags(tags, geometry) en ensure only update when changed.

It requires one more trigger and a table to store changed osm_id.

The UPDATE is keep in a function to be reusable for initial setup and trigger update.

I try many code layout before done it in this way with the goal to keep the code for initial pass and for update. It should have low impact on initial data load. Better performance for row update can be achieve with BEFORE UPDATE, but require to duplicate the logic.

It is not based on the already merged #896 because calling and update within a function for each updated row was not efficient for larger table (like housenumber).

It addresses #814.

@github-actions
Copy link

github-actions bot commented Jun 26, 2020

Results evaluating commit 73ce993 (merged with base 10efc29 as bb878a6). See run details.

PostgreSQL DB size in MB: 2665 ⇒ 2664 (-0.0% change)

step total time change user time change
1_data 1:56.84 2.6% 2.12 17.1%
2_osm 2:02.85 -4.3% 1.42 15.4%
3_borders 0:19.81 124.3% 1.41 28.2%
4_wikidata 0:15.85 200.2% 0.76 26.7%
5_sql 5:30.83 220.0% 1.53 40.4%
test-perf 7:27.63 67.8% 0.76 35.7%

Per-test generation speed (longer is better)
########################################################################################
████████████████████ 563.4 tiles/s -38.4% in test bbox_test_1, 117459 tiles in 0:03:28.4
████                 118.7 tiles/s -252.1% in test bbox_test_2, 1511 tiles in 0:00:12.6 
███                  105.0 tiles/s -70.3% in test bbox_test_3, 6501 tiles in 0:01:01.8  
                      17.9 tiles/s -111.5% in test bbox_test_4, 2723 tiles in 0:02:32.3 

Per-test average tile sizes (shorter is better)
########################################################################################
                     131.2 per tile +0.1% in test bbox_test_1, 117459 tiles in 0:03:28.4
█                     1.9K per tile +0.5% in test bbox_test_2, 1511 tiles in 0:00:12.6  
█                     2.3K per tile +1.2% in test bbox_test_3, 6501 tiles in 0:01:01.8  
████████████████████ 26.3K per tile +0.8% in test bbox_test_4, 2723 tiles in 0:02:32.3  

Per-zoom generation speed (longer is better)
#####################################################################################
                                  2.9 tiles/s -332.2% at z0, 4 tiles in 0:00:01.3    
                                 11.4 tiles/s -168.0% at z1, 6 tiles in 0:00:00.4    
                                 11.4 tiles/s -69.5% at z2, 6 tiles in 0:00:00.4     
█                                20.8 tiles/s -20.0% at z3, 6 tiles in 0:00:00.2     
                                  5.5 tiles/s -209.6% at z4, 6 tiles in 0:00:01      
                                  8.2 tiles/s -51.9% at z5, 9 tiles in 0:00:01       
                                  6.8 tiles/s -100.9% at z6, 11 tiles in 0:00:01.5   
██                               28.9 tiles/s -90.3% at z7, 20 tiles in 0:00:00.6    
███                              50.5 tiles/s -151.2% at z8, 48 tiles in 0:00:00.8   
█████                            72.3 tiles/s -198.9% at z9, 132 tiles in 0:00:01.7  
█████████████████               218.3 tiles/s -121.7% at z10, 437 tiles in 0:00:02   
█████████████████████████       320.8 tiles/s -122.9% at z11, 1603 tiles in 0:00:04.9
███████                          95.0 tiles/s -231.3% at z12, 6154 tiles in 0:01:04.7
██████████████████████████████  396.4 tiles/s -36.5% at z13, 24161 tiles in 0:01:00.9
█████████████████████████       326.5 tiles/s -53.3% at z14, 95591 tiles in 0:04:52.7

Per-zoom average tile sizes (shorter is better)
#####################################################################################
███████████████████             21.4K per tile ±0.0% at z0, 4 tiles in 0:00:01.3     
████████████████                18.1K per tile ±0.0% at z1, 6 tiles in 0:00:00.4     
███████████████████████████████ 33.8K per tile ±0.0% at z2, 6 tiles in 0:00:00.4     
█████████████                   14.5K per tile ±0.0% at z3, 6 tiles in 0:00:00.2     
███████████████                 16.8K per tile ±0.0% at z4, 6 tiles in 0:00:01       
████████                         9.6K per tile ±0.0% at z5, 9 tiles in 0:00:01       
██████████████                  15.8K per tile ±0.0% at z6, 11 tiles in 0:00:01.5    
██████████                      11.6K per tile +0.1% at z7, 20 tiles in 0:00:00.6    
███████                          8.2K per tile -0.0% at z8, 48 tiles in 0:00:00.8    
████                             5.0K per tile +0.0% at z9, 132 tiles in 0:00:01.7   
██                               2.2K per tile -0.5% at z10, 437 tiles in 0:00:02    
█                                1.1K per tile -0.3% at z11, 1603 tiles in 0:00:04.9 
█                                1.4K per tile -0.1% at z12, 6154 tiles in 0:01:04.7 
                                639.4 per tile +5.4% at z13, 24161 tiles in 0:01:00.9
                                808.4 per tile -0.0% at z14, 95591 tiles in 0:04:52.7

Generated 128,194 tiles in 0:07:15.4, 294.3 tiles/s -65.8%, 832.8 bytes/tile +0.8%
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 77 days, 14:01:45.9 ago: /tileset/results.json
Connecting to PostgreSQL at postgres:5432, db=openmaptiles, user=openmaptiles...
* version()                       = PostgreSQL 9.6.18 on x86_64-pc-linux-gnu (Debian 9.6.18-1.pgdg90+1), compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit
* postgis_full_version()          = POSTGIS="3.0.1 ec2a9aa" [EXTENSION] PGSQL="96" GEOS="3.7.1-CAPI-1.11.1 27a5e771" PROJ="Rel. 4.9.3, 15 August 2016" LIBXML="2.9.4" LIBJSON="0.12.1" LIBPROTOBUF="1.2.1" WAGYU="0.4.3 (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.1 (0.9 tiles/s -608.6%)
#####################################################################################
█████████████████████████████ 21.4K avg size ±0.0%, 21,892B (0/0/0) — 21,892B (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.2 (8.7 tiles/s -289.2%)
#####################################################################################
██████████                     8.2K avg size ±0.0%, 8,359B (1/1/1) — 8,359B (1/1/1)  
█████████████████████████████ 22.3K avg size ±0.0%, 22,886B (1/1/0) — 22,886B (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.1 (10.1 tiles/s -119.2%)
#####################################################################################
██████                         8.7K avg size ±0.0%, 8,859B (2/2/2) — 8,859B (2/2/2)  
█████████████████████████████ 41.8K avg size ±0.0%, 42,801B (2/2/1) — 42,801B (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 (25.5 tiles/s -30.8%)
#####################################################################################
█████████████████              9.6K avg size ±0.0%, 9,851B (3/4/4) — 9,851B (3/4/4)  
█████████████████████████████ 15.9K avg size ±0.0%, 16,310B (3/4/3) — 16,310B (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.3 (5.0 tiles/s -252.7%)
#####################################################################################
██████████                     5.7K avg size ±0.0%, 5,786B (4/8/8) — 5,786B (4/8/8)  
█████████████████████████████ 15.7K avg size ±0.0%, 16,027B (4/8/7) — 16,027B (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 (7.5 tiles/s -73.1%)
#####################################################################################
██                         1.4K avg size ±0.0%, 1,422B (5/16/16) — 1,422B (5/16/16)  
█████                      2.7K avg size ±0.0%, 2,770B (5/17/16) — 2,770B (5/17/16)  
█████                      2.9K avg size ±0.0%, 2,928B (5/17/15) — 2,928B (5/17/15)  
█████████████████████████ 12.6K avg size ±0.0%, 12,941B (5/16/15) — 12,941B (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.3 (16.5 tiles/s -338.4%)
#####################################################################################
                          626.0 avg size ±0.0%, 626B (6/32/32) — 626B (6/32/32)      
█                          1.3K avg size ±0.0%, 1,286B (6/32/31) — 1,286B (6/32/31)  
███                        2.8K avg size ±0.0%, 2,835B (6/33/32) — 2,835B (6/33/32)  
████                       3.2K avg size ±0.0%, 3,272B (6/34/32) — 3,272B (6/34/32)  
████████                   6.3K avg size ±0.0%, 6,428B (6/34/31) — 6,428B (6/34/31)  
█████████████████████████ 18.8K avg size ±0.0%, 19,294B (6/33/31) — 19,294B (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.2 (51.5 tiles/s -180.5%)
#####################################################################################
                          619.5 avg size ±0.0%, 261B (7/65/63) — 978B (7/66/63)      
                           1.1K avg size ±0.0%, 1,106B (7/65/62) — 1,106B (7/65/62)  
█                          1.3K avg size ±0.0%, 1,372B (7/68/64) — 1,372B (7/68/64)  
█                          1.7K avg size ±0.0%, 1,784B (7/68/62) — 1,784B (7/68/62)  
██                         2.3K avg size ±0.0%, 2,341B (7/67/64) — 2,341B (7/67/64)  
██                         2.8K avg size ±0.0%, 2,789B (7/65/64) — 2,887B (7/66/64)  
█████                      6.2K avg size ±0.0%, 6,307B (7/66/62) — 6,307B (7/66/62)  
██████                     6.8K avg size ±0.0%, 6,932B (7/68/63) — 6,932B (7/68/63)  
████████                   9.5K avg size ±0.0%, 9,684B (7/67/62) — 9,684B (7/67/62)  
█████████████████████████ 27.6K avg size ±0.0%, 28,268B (7/67/63) — 28,268B (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:00.2 (122.9 tiles/s -150.2%)
#####################################################################################
                       147.5 avg size ±0.0%, 146B (8/132/126) — 148B (8/133/128)     
                       155.8 avg size ±0.0%, 150B (8/131/125) — 173B (8/133/127)     
                       422.7 avg size ±0.0%, 278B (8/134/129) — 607B (8/132/127)     
█                      879.0 avg size ±0.0%, 848B (8/136/125) — 911B (8/135/124)     
█                      986.0 avg size ±0.0%, 951B (8/136/128) — 1,009B (8/131/124)   
█                       1.2K avg size ±0.0%, 1,137B (8/135/125) — 1,345B (8/134/124) 
███                     2.2K avg size ±0.0%, 1,855B (8/134/128) — 2,577B (8/131/128) 
████                    2.8K avg size ±0.0%, 2,618B (8/132/128) — 3,027B (8/132/129) 
███████                 5.0K avg size ±0.0%, 3,101B (8/132/124) — 7,014B (8/136/126) 
██████████████████████ 15.2K avg size -0.0%, 9,379B (8/134/125) — 27,508B (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:00.6 (152.7 tiles/s -182.3%)
#####################################################################################
                         0.0 avg size ±0.0%, 0B (9/269/249) — 0B (9/271/257)         
                         0.0 avg size ±0.0%, 0B (9/271/258) — 0B (9/273/252)         
                        48.0 avg size ±0.0%, 0B (9/273/253) — 78B (9/265/258)        
                        93.7 avg size ±0.0%, 78B (9/266/250) — 101B (9/268/253)      
                       102.5 avg size ±0.0%, 102B (9/263/250) — 107B (9/266/254)     
                       144.3 avg size ±0.0%, 111B (9/268/258) — 150B (9/263/249)     
                       216.4 avg size ±0.0%, 150B (9/263/251) — 271B (9/266/249)     
█                      745.1 avg size ±0.0%, 282B (9/273/254) — 1,320B (9/267/251)   
██████                  2.8K avg size ±0.0%, 1,327B (9/270/255) — 5,340B (9/270/254) 
██████████████████████  9.0K avg size ±0.0%, 5,719B (9/272/253) — 15,447B (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:01.1 (338.2 tiles/s -150.2%)
#####################################################################################
                       0.0 avg size ±0.0%, 0B (10/538/499) — 0B (10/543/500)         
                       0.0 avg size ±0.0%, 0B (10/543/501) — 0B (10/546/504)         
                      23.8 avg size ±0.0%, 0B (10/546/505) — 78B (10/529/508)        
                      78.0 avg size ±0.0%, 78B (10/529/509) — 78B (10/532/513)       
                      78.9 avg size ±0.0%, 78B (10/532/514) — 93B (10/540/512)       
                     101.1 avg size ±0.0%, 99B (10/537/516) — 102B (10/527/502)      
                     108.1 avg size ±0.0%, 102B (10/527/505) — 146B (10/536/504)     
                     190.4 avg size ±0.0%, 146B (10/536/512) — 287B (10/536/500)     
███                  813.4 avg size -0.0%, 289B (10/535/503) — 1,736B (10/539/504)   
████████████████████  4.7K avg size -0.5%, 1,895B (10/542/508) — 10,038B (10/539/506)


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.5 (555.1 tiles/s -84.3%)
#######################################################################################
                       0.0 avg size ±0.0%, 0B (11/1075/1029) — 0B (11/1085/1005)       
                       0.0 avg size ±0.0%, 0B (11/1085/1006) — 0B (11/1091/1013)       
                      17.4 avg size ±0.0%, 0B (11/1091/1014) — 78B (11/1054/1000)      
                      78.0 avg size ±0.0%, 78B (11/1054/1001) — 78B (11/1060/1033)     
                      78.0 avg size ±0.0%, 78B (11/1061/1000) — 78B (11/1066/999)      
                      78.0 avg size ±0.0%, 78B (11/1066/1000) — 78B (11/1070/1027)     
                      87.8 avg size ±0.0%, 78B (11/1070/1028) — 101B (11/1069/1024)    
                     105.8 avg size ±0.0%, 101B (11/1070/1008) — 146B (11/1072/1008)   
██                   263.1 avg size ±0.0%, 146B (11/1072/1024) — 532B (11/1087/1017)   
████████████████████  2.3K avg size -0.3%, 539B (11/1083/1011) — 12,315B (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:18.2 (306.0 tiles/s -120.8%)
#######################################################################################
                       0.0 avg size ±0.0%, 0B (12/2117/1998) — 0B (12/2168/2014)       
                       0.0 avg size ±0.0%, 0B (12/2168/2015) — 0B (12/2180/2048)       
                       4.9 avg size ±0.0%, 0B (12/2180/2049) — 70B (12/2171/2041)      
                      76.4 avg size ±0.0%, 70B (12/2171/2042) — 78B (12/2118/2000)     
                      78.0 avg size ±0.0%, 78B (12/2118/2001) — 78B (12/2126/2062)     
                      78.0 avg size ±0.0%, 78B (12/2126/2063) — 78B (12/2135/2036)     
                      78.0 avg size ±0.0%, 78B (12/2135/2037) — 78B (12/2146/2033)     
                      83.7 avg size ±0.0%, 78B (12/2146/2034) — 101B (12/2138/2048)    
█                    142.4 avg size ±0.0%, 101B (12/2139/2016) — 250B (12/2150/2061)   
████████████████████  2.1K avg size -0.1%, 250B (12/2157/2006) — 80,118B (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:39 (565.8 tiles/s -28.7%)
#########################################################################################
                         0.0 avg size ±0.0%, 0B (13/4232/3996) — 0B (13/4334/4091)       
                         0.0 avg size ±0.0%, 0B (13/4334/4092) — 0B (13/4358/4110)       
                         0.0 avg size ±0.0%, 0B (13/4358/4111) — 0B (13/4376/4086)       
█                       68.5 avg size ±0.0%, 0B (13/4376/4087) — 78B (13/4229/4118)      
█                       78.0 avg size ±0.0%, 78B (13/4229/4119) — 78B (13/4246/4113)     
█                       78.0 avg size ±0.0%, 78B (13/4246/4114) — 78B (13/4263/4070)     
█                       78.0 avg size ±0.0%, 78B (13/4263/4071) — 78B (13/4279/4132)     
█                       78.0 avg size ±0.0%, 78B (13/4279/4133) — 78B (13/4300/4035)     
█                       87.5 avg size ±0.0%, 78B (13/4300/4036) — 102B (13/4293/4095)    
████████████████████ 1,008.6 avg size +0.5%, 102B (13/4294/4031) — 46,912B (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:02:23.2 (612.8 tiles/s -31.6%)
######################################################################################
                       0.0 avg size ±0.0%, 0B (14/8463/7993) — 0B (14/8667/8006)      
                       0.0 avg size ±0.0%, 0B (14/8667/8007) — 0B (14/8715/8041)      
                       0.0 avg size ±0.0%, 0B (14/8715/8042) — 0B (14/8751/8041)      
██                    62.9 avg size ±0.0%, 0B (14/8751/8042) — 78B (14/8453/8125)     
██                    78.0 avg size ±0.0%, 78B (14/8453/8126) — 78B (14/8486/8057)    
██                    78.0 avg size ±0.0%, 78B (14/8486/8058) — 78B (14/8519/8072)    
██                    78.0 avg size ±0.0%, 78B (14/8519/8073) — 78B (14/8551/8198)    
██                    78.0 avg size ±0.0%, 78B (14/8551/8199) — 78B (14/8587/7994)    
██                    78.0 avg size ±0.0%, 78B (14/8587/7995) — 80B (14/8647/8085)    
████████████████████ 624.5 avg size -0.0%, 80B (14/8647/8086) — 61,528B (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 (15.0 tiles/s -31.5%)
#####################################################################################
█████████████████████████████ 21.4K avg size ±0.0%, 21,892B (0/0/0) — 21,892B (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 (18.2 tiles/s -33.9%)
#####################################################################################
█████████████████████████████ 22.3K avg size ±0.0%, 22,886B (1/1/0) — 22,886B (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 (13.1 tiles/s -28.7%)
#####################################################################################
█████████████████████████████ 41.8K avg size ±0.0%, 42,801B (2/2/1) — 42,801B (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 (14.2 tiles/s -20.4%)
#####################################################################################
█████████████████████████████ 20.5K avg size ±0.0%, 20,956B (3/4/2) — 20,956B (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.3 (2.6 tiles/s -279.4%)
#####################################################################################
█████████████████████████████ 28.2K avg size ±0.0%, 28,844B (4/8/5) — 28,844B (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 (6.2 tiles/s -56.1%)
#####################################################################################
█████████████████████████ 14.3K avg size ±0.0%, 14,651B (5/16/11) — 14,651B (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.1 (5.7 tiles/s -236.2%)
#####################################################################################
████████████████████████████ 9.4K avg size ±0.0%, 9,609B (6/33/22) — 9,609B (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.1 (14.2 tiles/s -183.5%)
#####################################################################################
██████████████████           6.0K avg size ±0.0%, 6,093B (7/67/45) — 6,093B (7/67/45)
████████████████████████████ 9.1K avg size ±0.0%, 9,275B (7/67/44) — 9,275B (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 (18.4 tiles/s -143.0%)
#####################################################################################
███████                  3.8K avg size ±0.0%, 3,898B (8/134/90) — 3,898B (8/134/90)  
███████████████████████ 11.7K avg size ±0.0%, 11,992B (8/134/89) — 11,992B (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.2 (28.2 tiles/s -341.6%)
#####################################################################################
                        0.0 avg size ±0.0%, 0B (9/268/178) — 0B (9/268/178)          
                        0.0 avg size ±0.0%, 0B (9/268/179) — 0B (9/268/179)          
                        0.0 avg size ±0.0%, 0B (9/268/180) — 0B (9/268/180)          
                       85.0 avg size ±0.0%, 85B (9/269/178) — 85B (9/269/178)        
██                     3.1K avg size ±0.0%, 3,140B (9/269/180) — 3,140B (9/269/180)  
█████████████████████ 22.6K avg size +0.0%, 23,187B (9/269/179) — 23,187B (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 (95.6 tiles/s -117.2%)
######################################################################################
                       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)          
                      88.0 avg size ±0.0%, 88B (10/539/357) — 88B (10/539/357)        
                     523.0 avg size ±0.0%, 111B (10/538/358) — 935B (10/538/360)      
                      1.1K avg size ±0.0%, 1,107B (10/539/358) — 1,107B (10/539/358)  
█                     1.9K avg size +0.2%, 1,992B (10/539/360) — 1,992B (10/539/360)  
███                   5.3K avg size -0.0%, 5,422B (10/538/359) — 5,422B (10/538/359)  
████████████████████ 31.8K avg size -0.0%, 32,524B (10/539/359) — 32,524B (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.3 (85.2 tiles/s -353.6%)
#######################################################################################
                       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)         
                       0.0 avg size ±0.0%, 0B (11/1079/717) — 0B (11/1079/719)         
                      69.3 avg size ±0.0%, 0B (11/1079/720) — 112B (11/1079/716)       
                     448.0 avg size ±0.0%, 118B (11/1077/717) — 938B (11/1077/720)     
█                     1.6K avg size ±0.0%, 985B (11/1078/717) — 2,299B (11/1078/720)   
████████████████████ 18.8K avg size ±0.0%, 4,465B (11/1077/719) — 29,331B (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.8 (22.4 tiles/s -655.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/2155/1431)         
                       0.0 avg size ±0.0%, 0B (12/2155/1432) — 0B (12/2157/1441)         
                       0.0 avg size ±0.0%, 0B (12/2158/1431) — 0B (12/2158/1441)         
                     150.0 avg size ±0.0%, 79B (12/2158/1433) — 246B (12/2157/1434)      
                      1.1K avg size ±0.0%, 279B (12/2157/1433) — 3,031B (12/2155/1437)   
████████████████████ 28.8K avg size -0.0%, 5,339B (12/2157/1437) — 65,273B (12/2156/1438)


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:00.8 (316.3 tiles/s -130.8%)
#########################################################################################
                       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/2867)         
                       0.0 avg size ±0.0%, 0B (13/4311/2868) — 0B (13/4314/2871)         
                      11.3 avg size ±0.0%, 0B (13/4314/2881) — 91B (13/4315/2869)        
                     489.3 avg size ±0.0%, 107B (13/4311/2872) — 1,551B (13/4315/2876)   
████████████████████ 14.7K avg size +3.0%, 1,605B (13/4312/2880) — 36,628B (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:05.8 (179.5 tiles/s -205.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/8622/5730)       
                       0.0 avg size ±0.0%, 0B (14/8622/5731) — 0B (14/8626/5741)       
                       0.0 avg size ±0.0%, 0B (14/8626/5761) — 0B (14/8631/5762)       
                     213.7 avg size ±0.0%, 0B (14/8631/5763) — 977B (14/8623/5760)     
████████████████████ 17.4K avg size +0.0%, 993B (14/8624/5761) — 89,833B (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 (17.0 tiles/s -23.5%)
#####################################################################################
█████████████████████████████ 21.4K avg size ±0.0%, 21,892B (0/0/0) — 21,892B (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.1 (5.5 tiles/s -295.7%)
#####################################################################################
█████████████████████████████ 16.7K avg size ±0.0%, 17,112B (1/0/0) — 17,112B (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.1 (6.8 tiles/s -104.1%)
#####################################################################################
█████████████████████████████ 34.3K avg size ±0.0%, 35,086B (2/1/1) — 35,086B (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 (16.0 tiles/s -19.0%)
#####################################################################################
█████████████████████████████ 14.0K avg size ±0.0%, 14,296B (3/2/3) — 14,296B (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.1 (7.2 tiles/s -137.0%)
#####################################################################################
█████████████████████████████ 16.2K avg size ±0.0%, 16,568B (4/4/6) — 16,568B (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 (10.2 tiles/s -33.0%)
#####################################################################################
██████████████               6.7K avg size ±0.0%, 6,885B (5/8/12) — 6,885B (5/8/12)  
███████████████████████████ 12.9K avg size ±0.0%, 13,224B (5/9/12) — 13,224B (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.6 (2.8 tiles/s -31.4%)
#####################################################################################
█                          4.7K avg size ±0.0%, 4,813B (6/17/24) — 4,813B (6/17/24)  
█████████████████████████ 78.9K avg size ±0.0%, 80,811B (6/18/24) — 80,811B (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 (22.1 tiles/s -27.8%)
#####################################################################################
█                          1.7K avg size ±0.0%, 1,773B (7/35/49) — 1,773B (7/35/49)  
██                         2.6K avg size ±0.0%, 2,688B (7/35/48) — 2,688B (7/35/48)  
█████████████████         19.1K avg size ±0.0%, 19,557B (7/36/48) — 19,557B (7/36/48)
█████████████████████████ 26.6K avg size ±0.0%, 27,280B (7/36/49) — 27,280B (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 (38.3 tiles/s -104.4%)
#####################################################################################
                          789.0 avg size ±0.0%, 789B (8/72/98) — 789B (8/72/98)      
                          968.0 avg size ±0.0%, 968B (8/71/98) — 968B (8/71/98)      
██                         2.0K avg size ±0.0%, 2,042B (8/71/97) — 2,042B (8/71/97)  
███                        3.5K avg size ±0.0%, 3,550B (8/72/97) — 3,550B (8/72/97)  
█████████                  9.7K avg size ±0.0%, 9,943B (8/73/98) — 9,943B (8/73/98)  
█████████████████████████ 24.5K avg size ±0.0%, 25,133B (8/73/97) — 25,133B (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.3 (35.7 tiles/s -274.3%)
#####################################################################################
                        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)          
                        0.0 avg size ±0.0%, 0B (9/145/196) — 0B (9/145/196)          
                        0.0 avg size ±0.0%, 0B (9/146/194) — 0B (9/146/194)          
                       1.2K avg size ±0.0%, 983B (9/143/194) — 1,413B (9/145/195)    
                       1.7K avg size ±0.0%, 1,776B (9/145/194) — 1,776B (9/145/194)  
                       1.9K avg size ±0.0%, 1,922B (9/144/194) — 1,922B (9/144/194)  
█                      5.9K avg size ±0.0%, 6,052B (9/146/196) — 6,052B (9/146/196)  
█████████████████████ 68.0K avg size ±0.0%, 69,636B (9/146/195) — 69,636B (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:00.2 (143.1 tiles/s -84.6%)
#####################################################################################
                       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/291/392) — 0B (10/293/388)         
                      19.3 avg size ±0.0%, 0B (10/293/389) — 58B (10/293/392)        
                     767.0 avg size ±0.0%, 243B (10/292/390) — 995B (10/291/391)     
                      1.1K avg size ±0.0%, 1,026B (10/287/389) — 1,211B (10/289/389) 
█                     1.7K avg size ±0.0%, 1,270B (10/289/388) — 2,249B (10/290/389) 
████████████████████ 29.4K avg size -1.1%, 4,652B (10/292/392) — 63,897B (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.6 (140.6 tiles/s -192.8%)
#####################################################################################
                       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)         
                       0.0 avg size ±0.0%, 0B (11/584/780) — 0B (11/586/779)         
                     426.8 avg size ±0.0%, 0B (11/586/780) — 949B (11/580/777)       
█                     1.1K avg size ±0.0%, 951B (11/583/780) — 1,394B (11/581/778)   
████████████████████ 17.5K avg size -0.6%, 1,508B (11/580/778) — 98,525B (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:10.2 (31.5 tiles/s -289.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/1558)          
                       0.0 avg size ±0.0%, 0B (12/1167/1559) — 0B (12/1169/1567)          
                       0.0 avg size ±0.0%, 0B (12/1169/1568) — 0B (12/1173/1555)          
                     503.2 avg size ±0.0%, 0B (12/1173/1556) — 1,114B (12/1157/1555)      
████████████████████ 24.8K avg size -0.1%, 1,114B (12/1158/1555) — 295,722B (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:05.7 (214.1 tiles/s -49.6%)
#########################################################################################
                       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/3136)         
                      14.4 avg size ±0.0%, 0B (13/2341/3137) — 226B (13/2346/3133)       
████████████████████ 10.9K avg size +13.7%, 381B (13/2341/3128) — 143,313B (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:42.7 (111.7 tiles/s -51.6%)
######################################################################################
                       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/6238)      
                       0.0 avg size ±0.0%, 0B (14/4624/6239) — 0B (14/4633/6240)      
                       0.0 avg size ±0.0%, 0B (14/4633/6241) — 0B (14/4642/6239)      
                       0.0 avg size ±0.0%, 0B (14/4642/6240) — 0B (14/4651/6257)      
                       0.0 avg size ±0.0%, 0B (14/4651/6258) — 0B (14/4660/6265)      
                       0.0 avg size ±0.0%, 0B (14/4660/6266) — 0B (14/4670/6227)      
                       0.0 avg size ±0.0%, 0B (14/4670/6228) — 0B (14/4679/6230)      
                       0.0 avg size ±0.0%, 0B (14/4679/6231) — 0B (14/4689/6259)      
████████████████████ 25.0K avg size -0.0%, 0B (14/4689/6260) — 519,112B (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 (10.8 tiles/s -60.4%)
#####################################################################################
█████████████████████████████ 21.4K avg size ±0.0%, 21,892B (0/0/0) — 21,892B (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 (33.0 tiles/s -19.4%)
#####################################################################################
█████████████████████         16.7K avg size ±0.0%, 17,112B (1/0/0) — 17,112B (1/0/0)
█████████████████████████████ 22.3K avg size ±0.0%, 22,886B (1/1/0) — 22,886B (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.1 (18.6 tiles/s -19.2%)
#####################################################################################
███████████████████████       34.3K avg size ±0.0%, 35,086B (2/1/1) — 35,086B (2/1/1)
█████████████████████████████ 41.8K avg size ±0.0%, 42,801B (2/2/1) — 42,801B (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 (26.1 tiles/s -11.0%)
#####################################################################################
█████████                      6.8K avg size ±0.0%, 7,000B (3/3/2) — 7,000B (3/3/2)  
█████████████████████████████ 20.5K avg size ±0.0%, 20,956B (3/4/2) — 20,956B (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.1 (12.9 tiles/s -105.5%)
#####################################################################################
███████                        7.0K avg size ±0.0%, 7,197B (4/7/5) — 7,197B (4/7/5)  
█████████████████████████████ 28.2K avg size ±0.0%, 28,844B (4/8/5) — 28,844B (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.2 (9.8 tiles/s -25.9%)
#####################################################################################
████████████████          13.3K avg size ±0.0%, 13,589B (5/16/10) — 13,589B (5/16/10)
█████████████████████████ 19.9K avg size ±0.0%, 20,385B (5/15/10) — 20,385B (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.3 (5.6 tiles/s -193.4%)
#####################################################################################
████████████              15.9K avg size ±0.0%, 16,237B (6/32/21) — 16,237B (6/32/21)
█████████████████████████ 31.5K avg size ±0.0%, 32,301B (6/31/21) — 32,301B (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 (14.6 tiles/s -53.6%)
#####################################################################################
███████████               32.6K avg size ±0.0%, 33,358B (7/64/42) — 33,358B (7/64/42)
█████████████████████████ 71.1K avg size +0.2%, 72,774B (7/63/42) — 72,774B (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 (10.2 tiles/s -180.3%)
#####################################################################################
█                      9.6K avg size ±0.0%, 9,783B (8/128/84) — 9,783B (8/128/84)    
█                     14.1K avg size ±0.0%, 14,476B (8/127/84) — 14,476B (8/127/84)  
█████                 47.5K avg size ±0.0%, 48,642B (8/128/85) — 48,642B (8/128/85)  
████████████████████ 170.0K avg size -0.0%, 174,105B (8/127/85) — 174,105B (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 (7.2 tiles/s -155.7%)
#######################################################################################
                       6.4K avg size ±0.0%, 6,547B (9/256/169) — 6,547B (9/256/169)    
█                     23.9K avg size +0.0%, 24,481B (9/255/169) — 24,481B (9/255/169)  
█████                 87.0K avg size ±0.0%, 89,062B (9/256/170) — 89,062B (9/256/170)  
████████████████████ 293.9K avg size -0.0%, 300,949B (9/255/170) — 300,949B (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:00.4 (23.3 tiles/s -93.1%)
#########################################################################################
                      889.5 avg size ±0.0%, 711B (10/513/341) — 1,068B (10/513/339)      
                       2.1K avg size ±0.0%, 2,164B (10/510/341) — 2,164B (10/510/341)    
                       2.9K avg size ±0.0%, 2,955B (10/510/339) — 2,955B (10/510/339)    
                       3.1K avg size ±0.0%, 3,175B (10/513/340) — 3,175B (10/513/340)    
                       8.0K avg size ±0.0%, 8,181B (10/512/339) — 8,181B (10/512/339)    
█                     25.2K avg size -1.0%, 18,260B (10/512/341) — 33,264B (10/511/339)  
███                   53.2K avg size -0.0%, 54,510B (10/511/341) — 54,510B (10/511/341)  
████                  64.8K avg size -2.3%, 66,381B (10/510/340) — 66,381B (10/510/340)  
██████               101.3K avg size -0.8%, 103,690B (10/512/340) — 103,690B (10/512/340)
████████████████████ 310.9K avg size -0.0%, 318,383B (10/511/340) — 318,383B (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 (30.5 tiles/s -160.8%)
###########################################################################################
                        0.0 avg size ±0.0%, 0B (11/1020/678) — 0B (11/1021/683)            
                        0.0 avg size ±0.0%, 0B (11/1022/678) — 0B (11/1025/678)            
                        0.0 avg size ±0.0%, 0B (11/1025/682) — 0B (11/1026/679)            
                      107.2 avg size ±0.0%, 0B (11/1026/683) — 239B (11/1026/681)          
                      785.0 avg size ±0.0%, 647B (11/1024/683) — 868B (11/1020/680)        
                       2.7K avg size ±0.0%, 1,090B (11/1026/680) — 5,035B (11/1025/679)    
██                    17.8K avg size -0.7%, 9,135B (11/1024/679) — 29,378B (11/1024/682)   
█████                 41.5K avg size -0.2%, 35,595B (11/1022/682) — 52,839B (11/1021/680)  
██████████            70.4K avg size -0.8%, 59,553B (11/1023/682) — 84,210B (11/1024/680)  
████████████████████ 140.2K avg size +0.0%, 103,201B (11/1022/681) — 194,009B (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:32.3 (4.5 tiles/s -298.0%)
#############################################################################################
                        0.0 avg size ±0.0%, 0B (12/2041/1356) — 0B (12/2043/1357)            
                        0.0 avg size ±0.0%, 0B (12/2043/1358) — 0B (12/2046/1367)            
                        0.0 avg size ±0.0%, 0B (12/2047/1367) — 0B (12/2051/1357)            
                        0.0 avg size ±0.0%, 0B (12/2051/1358) — 0B (12/2052/1366)            
                      407.9 avg size ±0.0%, 0B (12/2052/1367) — 846B (12/2041/1359)          
                       2.7K avg size -0.0%, 851B (12/2041/1360) — 8,312B (12/2044/1365)      
█                     19.6K avg size -0.2%, 9,194B (12/2050/1359) — 41,147B (12/2042/1360)   
███████               80.9K avg size -0.1%, 44,733B (12/2050/1362) — 101,642B (12/2042/1362) 
███████████          127.6K avg size -0.0%, 110,856B (12/2049/1361) — 158,531B (12/2045/1363)
████████████████████ 215.3K avg size -0.0%, 158,800B (12/2044/1361) — 346,810B (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:00:15.1 (34.8 tiles/s -51.0%)
#############################################################################################
                         0.0 avg size ±0.0%, 0B (13/4082/2713) — 0B (13/4085/2729)           
                         0.0 avg size ±0.0%, 0B (13/4085/2730) — 0B (13/4092/2713)           
                         0.0 avg size ±0.0%, 0B (13/4092/2714) — 0B (13/4101/2713)           
                         0.0 avg size ±0.0%, 0B (13/4101/2714) — 0B (13/4104/2720)           
                        48.4 avg size ±0.0%, 0B (13/4104/2725) — 193B (13/4091/2731)         
                     1,012.5 avg size +0.0%, 195B (13/4085/2728) — 2,749B (13/4103/2721)     
██                     11.6K avg size +2.7%, 3,169B (13/4099/2730) — 22,733B (13/4085/2721)  
███████                33.6K avg size +5.2%, 22,908B (13/4088/2729) — 43,550B (13/4099/2725) 
███████████            53.0K avg size +7.4%, 44,097B (13/4097/2725) — 64,250B (13/4097/2722) 
████████████████████   93.1K avg size +6.0%, 64,460B (13/4091/2720) — 179,982B (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:40.7 (19.6 tiles/s -93.9%)
############################################################################################
                        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/5466)           
                        0.0 avg size ±0.0%, 0B (14/8180/5467) — 0B (14/8198/5431)           
                        0.0 avg size ±0.0%, 0B (14/8198/5432) — 0B (14/8206/5431)           
                        7.0 avg size ±0.0%, 0B (14/8206/5432) — 108B (14/8205/5447)         
                      751.7 avg size ±0.0%, 109B (14/8191/5464) — 2,506B (14/8192/5464)     
█                     10.4K avg size -0.0%, 2,553B (14/8187/5464) — 20,042B (14/8175/5441)  
███                   30.0K avg size +0.0%, 20,165B (14/8171/5449) — 41,902B (14/8195/5447) 
██████                57.0K avg size -0.0%, 41,990B (14/8197/5456) — 79,839B (14/8187/5453) 
████████████████████ 167.7K avg size +0.0%, 80,328B (14/8176/5442) — 634,050B (14/8185/5447)




@frodrigo frodrigo marked this pull request as draft July 21, 2020 10:20
@frodrigo frodrigo force-pushed the simple_incremental_update branch from a1fe158 to 3b99e38 Compare July 21, 2020 13:47
@frodrigo frodrigo marked this pull request as ready for review July 21, 2020 13:48
@frodrigo frodrigo marked this pull request as draft July 21, 2020 13:48
@frodrigo frodrigo force-pushed the simple_incremental_update branch 2 times, most recently from a022f1b to 0228fb8 Compare July 23, 2020 13:50
@frodrigo frodrigo force-pushed the simple_incremental_update branch from 0228fb8 to be952ca Compare August 3, 2020 12:27
@frodrigo frodrigo force-pushed the simple_incremental_update branch from be952ca to 470aa1f Compare August 7, 2020 13:59
@frodrigo frodrigo marked this pull request as ready for review August 7, 2020 13:59
@frodrigo
Copy link
Contributor Author

frodrigo commented Aug 7, 2020

Benchmark on Wales extract. Using same extract date and same update range (20 daily updates).
Size: 77 MB

Master

  • Import time 932 s
  • AVG update time : 191.7 s (std dev 14.8)
  • Median update time : 188.4 s

This PR

  • Import time 913 s (-1.9%), no special reason to be faster
  • AVG update time : 175.6 s (std dev 13.9)
  • Median update time : 172.8 s

Update are 8.3% faster.

@TomPohys TomPohys merged commit bb2a432 into openmaptiles:master Aug 28, 2020
TomPohys pushed a commit that referenced this pull request Aug 30, 2020
Replacing update on the whole table with an update only on changed rows.

The goal is to update more quickly by just updating the changing content.
The update now focus on osm_id of changed rows, it use index. Add a where clause tags != update_tags(tags, geometry) to ensure only update when changed.

It requires one more trigger and a table to store changed osm_id.

The UPDATE is keep in a function to be reusable for initial setup and trigger update.

It is a based on the already merged #944

It is a separated PR as less obvious than previous. It replaces the reset of the `rank` field to NULL by missing value resulting of `LEFT JOIN`. It avoid triggering a new update on the table by reset the value then re-seting it to initial or new value.

It addresses #814.

Thanks @frodrigo
TomPohys pushed a commit that referenced this pull request Aug 30, 2020
Replacing update on the whole table with an update only on changed rows.

The goal is to update more quickly by just updating the changing content.
The update now focus on osm_id of changed rows, it use index. Add a where clause tags != update_tags(tags, geometry) to ensure only update when changed.

It requires one more trigger and a table to store changed osm_id.

The UPDATE is keep in a function to be reusable for initial setup and trigger update.

It is a based on the already merged #944

It is a separated PR as less obvious than previous. It replaces the reset of the `rank` field to NULL by missing value resulting of `LEFT JOIN`. It avoid triggering a new update on the table by reset the value then re-seting it to initial or new value.

It addresses #814.

Thanks @frodrigo
lazaa32 added a commit to maptiler/openmaptiles that referenced this pull request Dec 8, 2020
Bug introduced in openmaptiles#944.
Missing exclamation mark in not equal operator caused that tags were not updated thus there were missing `name_int`, `name:latin` and `name:nonlatin`.
TomPohys pushed a commit that referenced this pull request Dec 8, 2020
Bug introduced in #944.
Missing exclamation mark in not equal operator caused that tags were not updated thus there were missing `name_int`, `name:latin` and `name:nonlatin`.
@frodrigo frodrigo deleted the simple_incremental_update branch August 28, 2021 11: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.

2 participants