[ 
https://issues.apache.org/jira/browse/ARTEMIS-3033?focusedWorklogId=525270&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-525270
 ]

ASF GitHub Bot logged work on ARTEMIS-3033:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 16/Dec/20 21:15
            Start Date: 16/Dec/20 21:15
    Worklog Time Spent: 10m 
      Work Description: gtully commented on pull request #3382:
URL: https://github.com/apache/activemq-artemis/pull/3382#issuecomment-747031683


   The raw bench result:
   // before
   Benchmark                                                                    
                (topicsLog2)   Mode  Cnt         Score         Error   Units
   WildcardAddressManagerPerfTest.both                                          
                           2  thrpt   16    516495.226 ±   14266.760   ops/s
   WildcardAddressManagerPerfTest.both:testAddRemoveNewBindingWhilePublish      
                           2  thrpt   16    516495.226 ±   14266.760   ops/s
   WildcardAddressManagerPerfTest.both:·gc.alloc.rate                           
                           2  thrpt   16       482.418 ±      12.989  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.alloc.rate.norm                      
                           2  thrpt   16      1472.001 ±       0.001    B/op
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Eden_Space                  
                           2  thrpt   16       458.176 ±      17.939  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Eden_Space.norm             
                           2  thrpt   16      1398.076 ±      41.390    B/op
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Survivor_Space              
                           2  thrpt   16         0.132 ±       0.041  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Survivor_Space.norm         
                           2  thrpt   16         0.404 ±       0.126    B/op
   WildcardAddressManagerPerfTest.both:·gc.count                                
                           2  thrpt   16       199.000                counts
   WildcardAddressManagerPerfTest.both:·gc.time                                 
                           2  thrpt   16       131.000                    ms
   WildcardAddressManagerPerfTest.both                                          
                           8  thrpt   16      7113.704 ±     103.940   ops/s
   WildcardAddressManagerPerfTest.both:testAddRemoveNewBindingWhilePublish      
                           8  thrpt   16      7113.704 ±     103.940   ops/s
   WildcardAddressManagerPerfTest.both:·gc.alloc.rate                           
                           8  thrpt   16       262.105 ±       3.847  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.alloc.rate.norm                      
                           8  thrpt   16     58000.087 ±       0.002    B/op
   WildcardAddressManagerPerfTest.both:·gc.count                                
                           8  thrpt   16           ≈ 0                counts
   WildcardAddressManagerPerfTest.both                                          
                          10  thrpt   16       855.968 ±      32.521   ops/s
   WildcardAddressManagerPerfTest.both:testAddRemoveNewBindingWhilePublish      
                          10  thrpt   16       855.968 ±      32.521   ops/s
   WildcardAddressManagerPerfTest.both:·gc.alloc.rate                           
                          10  thrpt   16       124.991 ±       4.732  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.alloc.rate.norm                      
                          10  thrpt   16    230032.750 ±       0.085    B/op
   WildcardAddressManagerPerfTest.both:·gc.count                                
                          10  thrpt   16           ≈ 0                counts
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding                   
                           2  thrpt   16    535497.941 ±    4235.180   ops/s
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.alloc.rate    
                           2  thrpt   16       500.444 ±       3.950  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.alloc.rate.norm  
                        2  thrpt   16      1472.001 ±       0.001    B/op
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Eden_Space
                      2  thrpt   16       478.122 ±      16.276  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Eden_Space.norm
                 2  thrpt   16      1406.170 ±      40.602    B/op
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Survivor_Space
                  2  thrpt   16         0.126 ±       0.034  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Survivor_Space.norm
             2  thrpt   16         0.370 ±       0.100    B/op
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.count         
                           2  thrpt   16       202.000                counts
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.time          
                           2  thrpt   16       123.000                    ms
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding                   
                           8  thrpt   16      7078.200 ±      69.896   ops/s
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.alloc.rate    
                           8  thrpt   16       260.564 ±       2.642  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.alloc.rate.norm  
                        8  thrpt   16     58000.062 ±       0.002    B/op
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.count         
                           8  thrpt   16           ≈ 0                counts
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding                   
                          10  thrpt   16       884.006 ±      19.897   ops/s
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.alloc.rate    
                          10  thrpt   16       128.976 ±       2.912  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.alloc.rate.norm  
                       10  thrpt   16    230032.517 ±       0.080    B/op
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.count         
                          10  thrpt   16           ≈ 0                counts
   WildcardAddressManagerPerfTest.testJustPublish                               
                           2  thrpt   16  93062855.857 ±  402154.252   ops/s
   WildcardAddressManagerPerfTest.testJustPublish:·gc.alloc.rate                
                           2  thrpt   16        ≈ 10⁻⁴                MB/sec
   WildcardAddressManagerPerfTest.testJustPublish:·gc.alloc.rate.norm           
                           2  thrpt   16        ≈ 10⁻⁵                  B/op
   WildcardAddressManagerPerfTest.testJustPublish:·gc.count                     
                           2  thrpt   16           ≈ 0                counts
   WildcardAddressManagerPerfTest.testJustPublish                               
                           8  thrpt   16  65149310.990 ± 1244584.449   ops/s
   WildcardAddressManagerPerfTest.testJustPublish:·gc.alloc.rate                
                           8  thrpt   16        ≈ 10⁻⁴                MB/sec
   WildcardAddressManagerPerfTest.testJustPublish:·gc.alloc.rate.norm           
                           8  thrpt   16        ≈ 10⁻⁵                  B/op
   WildcardAddressManagerPerfTest.testJustPublish:·gc.count                     
                           8  thrpt   16           ≈ 0                counts
   WildcardAddressManagerPerfTest.testJustPublish                               
                          10  thrpt   16  32496186.560 ±  267181.374   ops/s
   WildcardAddressManagerPerfTest.testJustPublish:·gc.alloc.rate                
                          10  thrpt   16        ≈ 10⁻⁴                MB/sec
   WildcardAddressManagerPerfTest.testJustPublish:·gc.alloc.rate.norm           
                          10  thrpt   16        ≈ 10⁻⁵                  B/op
   WildcardAddressManagerPerfTest.testJustPublish:·gc.count                     
                          10  thrpt   16           ≈ 0                counts
   
   
   // after
   Benchmark                                                                    
                (topicsLog2)   Mode  Cnt         Score         Error   Units
   WildcardAddressManagerPerfTest.both                                          
                           2  thrpt   16   1201749.633 ±   10355.392   ops/s
   WildcardAddressManagerPerfTest.both:testAddRemoveNewBindingWhilePublish      
                           2  thrpt   16   1201749.633 ±   10355.392   ops/s
   WildcardAddressManagerPerfTest.both:·gc.alloc.rate                           
                           2  thrpt   16       561.613 ±       4.938  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.alloc.rate.norm                      
                           2  thrpt   16       736.001 ±       0.001    B/op
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Eden_Space                  
                           2  thrpt   16       542.034 ±      13.831  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Eden_Space.norm             
                           2  thrpt   16       710.368 ±      18.131    B/op
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Survivor_Space              
                           2  thrpt   16         0.123 ±       0.024  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Survivor_Space.norm         
                           2  thrpt   16         0.161 ±       0.032    B/op
   WildcardAddressManagerPerfTest.both:·gc.count                                
                           2  thrpt   16       218.000                counts
   WildcardAddressManagerPerfTest.both:·gc.time                                 
                           2  thrpt   16       134.000                    ms
   WildcardAddressManagerPerfTest.both                                          
                           8  thrpt   16   1115451.351 ±    8942.474   ops/s
   WildcardAddressManagerPerfTest.both:testAddRemoveNewBindingWhilePublish      
                           8  thrpt   16   1115451.351 ±    8942.474   ops/s
   WildcardAddressManagerPerfTest.both:·gc.alloc.rate                           
                           8  thrpt   16       530.023 ±      11.613  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.alloc.rate.norm                      
                           8  thrpt   16       748.001 ±      12.619    B/op
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Eden_Space                  
                           8  thrpt   16       510.957 ±      18.384  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Eden_Space.norm             
                           8  thrpt   16       721.069 ±      23.137    B/op
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Survivor_Space              
                           8  thrpt   16         0.092 ±       0.030  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Survivor_Space.norm         
                           8  thrpt   16         0.130 ±       0.042    B/op
   WildcardAddressManagerPerfTest.both:·gc.count                                
                           8  thrpt   16       215.000                counts
   WildcardAddressManagerPerfTest.both:·gc.time                                 
                           8  thrpt   16       134.000                    ms
   WildcardAddressManagerPerfTest.both                                          
                          10  thrpt   16   1041470.151 ±   16293.381   ops/s
   WildcardAddressManagerPerfTest.both:testAddRemoveNewBindingWhilePublish      
                          10  thrpt   16   1041470.151 ±   16293.381   ops/s
   WildcardAddressManagerPerfTest.both:·gc.alloc.rate                           
                          10  thrpt   16       502.699 ±       7.913  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.alloc.rate.norm                      
                          10  thrpt   16       760.001 ±       0.001    B/op
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Eden_Space                  
                          10  thrpt   16       479.731 ±      16.532  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Eden_Space.norm             
                          10  thrpt   16       725.200 ±      19.322    B/op
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Survivor_Space              
                          10  thrpt   16         0.136 ±       0.030  MB/sec
   WildcardAddressManagerPerfTest.both:·gc.churn.PS_Survivor_Space.norm         
                          10  thrpt   16         0.206 ±       0.046    B/op
   WildcardAddressManagerPerfTest.both:·gc.count                                
                          10  thrpt   16       206.000                counts
   WildcardAddressManagerPerfTest.both:·gc.time                                 
                          10  thrpt   16       133.000                    ms
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding                   
                           2  thrpt   16   1203725.581 ±   15691.820   ops/s
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.alloc.rate    
                           2  thrpt   16       562.709 ±       7.404  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.alloc.rate.norm  
                        2  thrpt   16       736.000 ±       0.001    B/op
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Eden_Space
                      2  thrpt   16       543.166 ±      14.901  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Eden_Space.norm
                 2  thrpt   16       710.489 ±      19.303    B/op
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Survivor_Space
                  2  thrpt   16         0.098 ±       0.040  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Survivor_Space.norm
             2  thrpt   16         0.129 ±       0.052    B/op
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.count         
                           2  thrpt   16       199.000                counts
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.time          
                           2  thrpt   16       129.000                    ms
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding                   
                           8  thrpt   16   1122261.034 ±   14717.239   ops/s
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.alloc.rate    
                           8  thrpt   16       533.196 ±      15.277  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.alloc.rate.norm  
                        8  thrpt   16       748.000 ±      12.619    B/op
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Eden_Space
                      8  thrpt   16       507.371 ±      23.859  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Eden_Space.norm
                 8  thrpt   16       711.690 ±      26.859    B/op
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Survivor_Space
                  8  thrpt   16         0.132 ±       0.038  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Survivor_Space.norm
             8  thrpt   16         0.186 ±       0.054    B/op
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.count         
                           8  thrpt   16       193.000                counts
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.time          
                           8  thrpt   16       124.000                    ms
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding                   
                          10  thrpt   16   1034833.124 ±   32312.193   ops/s
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.alloc.rate    
                          10  thrpt   16       498.329 ±      15.923  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.alloc.rate.norm  
                       10  thrpt   16       760.000 ±       0.001    B/op
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Eden_Space
                     10  thrpt   16       483.605 ±      20.723  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Eden_Space.norm
                10  thrpt   16       737.753 ±      27.481    B/op
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Survivor_Space
                 10  thrpt   16         0.119 ±       0.042  MB/sec
   
WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.churn.PS_Survivor_Space.norm
            10  thrpt   16         0.182 ±       0.066    B/op
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.count         
                          10  thrpt   16       201.000                counts
   WildcardAddressManagerPerfTest.testJustAddRemoveNewBinding:·gc.time          
                          10  thrpt   16       129.000                    ms
   WildcardAddressManagerPerfTest.testJustPublish                               
                           2  thrpt   16  98558204.461 ±  639664.196   ops/s
   WildcardAddressManagerPerfTest.testJustPublish:·gc.alloc.rate                
                           2  thrpt   16        ≈ 10⁻⁴                MB/sec
   WildcardAddressManagerPerfTest.testJustPublish:·gc.alloc.rate.norm           
                           2  thrpt   16        ≈ 10⁻⁵                  B/op
   WildcardAddressManagerPerfTest.testJustPublish:·gc.count                     
                           2  thrpt   16           ≈ 0                counts
   WildcardAddressManagerPerfTest.testJustPublish                               
                           8  thrpt   16  66839293.753 ± 1325452.289   ops/s
   WildcardAddressManagerPerfTest.testJustPublish:·gc.alloc.rate                
                           8  thrpt   16        ≈ 10⁻⁴                MB/sec
   WildcardAddressManagerPerfTest.testJustPublish:·gc.alloc.rate.norm           
                           8  thrpt   16        ≈ 10⁻⁵                  B/op
   WildcardAddressManagerPerfTest.testJustPublish:·gc.count                     
                           8  thrpt   16           ≈ 0                counts
   WildcardAddressManagerPerfTest.testJustPublish                               
                          10  thrpt   16  52801505.132 ±  655598.388   ops/s
   WildcardAddressManagerPerfTest.testJustPublish:·gc.alloc.rate                
                          10  thrpt   16        ≈ 10⁻⁴                MB/sec
   WildcardAddressManagerPerfTest.testJustPublish:·gc.alloc.rate.norm           
                          10  thrpt   16        ≈ 10⁻⁵                  B/op
   WildcardAddressManagerPerfTest.testJustPublish:·gc.count                     
                          10  thrpt   16           ≈ 0                counts


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 525270)
    Time Spent: 50m  (was: 40m)

> use a structured tree with visitors for wildcard addresses to avoid duplicate 
> cross linking in address impl
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-3033
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3033
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>    Affects Versions: 2.16.0
>            Reporter: Gary Tully
>            Assignee: Gary Tully
>            Priority: Major
>             Fix For: 2.17.0
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> This follows up on ARTEMIS-2990 to address the underlying data structure for 
> the wildcard address map. In place of a map of addresses with lists of cross 
> references (which grow linearly), a tree map reflecting the hierarchy of 
> addresses and wildcards is used. This partitions the search space in a 
> natural way with the address hierarchy.
> in place of collections, a visitor allows access to contained bindings for 
> processing allowing parallel work.
> the read and update paths to access bindings are also separated out to allow 
> the read to do minimum work.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to