On Mon, 23 Jan 2023 14:14:50 GMT, Daniel Fuchs <dfu...@openjdk.org> wrote:

>> Alexey Bakhtin has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Fix parameters order for Util.wildmatch
>
> Hi Alexey - you have addressed most of my concerns but let me reinstate that 
> the changes to ObjectName are observable by subclasses and thus will require 
> a CSR. As such this fix may also not be a good candidate for backport (if 
> that was your intention), as it comes with a potential regression risk. A 
> possibility could be to implement the ObjectName changes as a separate PR.

@dfuch, I've returned ObjectName optimization for the instances of ObjectName 
class only.
JMH benchmark does not show much difference without these changes.
Benchmark results for original implementation:

Benchmark                                 (N)   Mode  Cnt    Score    Error  
Units
JmxBenchmark.applyForMyObjectName        1000  thrpt   10  539.134 ± 11.643  
ops/s
JmxBenchmark.applyForObjectName          1000  thrpt   10  495.961 ± 10.550  
ops/s
JmxBenchmark.queryMBeansForMyObjectName  1000  thrpt   10   75.482 ±  0.302  
ops/s
JmxBenchmark.queryMBeansForObjectName    1000  thrpt   10  111.721 ±  0.462  
ops/s
JmxBenchmark.queryNamesForMyObjectName   1000  thrpt   10   79.004 ±  0.398  
ops/s
JmxBenchmark.queryNamesForObjectName     1000  thrpt   10  125.877 ±  2.024  
ops/s

Benchmark results for the proposed implementation:

Benchmark                                 (N)   Mode  Cnt    Score    Error  
Units
JmxBenchmark.applyForMyObjectName        1000  thrpt   10  542.233 ±  4.137  
ops/s
JmxBenchmark.applyForObjectName          1000  thrpt   10  668.710 ± 13.124  
ops/s
JmxBenchmark.queryMBeansForMyObjectName  1000  thrpt   10  123.381 ±  4.254  
ops/s
JmxBenchmark.queryMBeansForObjectName    1000  thrpt   10  237.607 ±  3.298  
ops/s
JmxBenchmark.queryNamesForMyObjectName   1000  thrpt   10  122.576 ±  2.364  
ops/s
JmxBenchmark.queryNamesForObjectName     1000  thrpt   10  238.275 ±  4.904  
ops/s


JmxBenchmark.applyForMyObjectName - tests ObjectName.apply() for subclasses of 
ObjcetName instances
JmxBenchmark.applyForObjectName - tests ObjectName.apply() for ObjectName 
instances
JmxBenchmark.queryMBeansForMyObjectName - tests MBeanServer.queryMBeans() for 
subclasses of ObjcetName instances
JmxBenchmark.queryMBeansForObjectName - tests MBeanServer.queryMBeans() for 
ObjcetName instances
JmxBenchmark.queryNamesForMyObjectName - tests MBeanServer.queryNames() for 
subclasses of ObjcetName instances
JmxBenchmark.queryNamesForObjectName - tests MBeanServer.queryNames() for 
ObjcetName instances

JmxBenchmark is attached to the https://bugs.openjdk.org/browse/JDK-8299234

@sspitsyn, Could you please look at the proposed enhancement

-------------

PR: https://git.openjdk.org/jdk/pull/11758

Reply via email to