On Wed, 18 Nov 2020 13:46:04 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:

>> This is a micro benchmark for various algorithm settings of PKCS keystores. 
>> Strong for new algorithms and weak for old ones. Different iteration counts 
>> are tried. The result should show that the current setting (strong10000) is 
>> more efficient than old setting (weak50000).
>
> test/micro/org/openjdk/bench/java/security/PKCS12KeyStores.java line 65:
> 
>> 63:     }
>> 64: 
>> 65:     static {
> 
> Move these to 
> 
> @Setup
> public void setup() throws Exception {
>   ...
> }
> 
> This would save you a `try-catch` section, and harness would properly fail on 
> setup exception.

Newbie on JMH. Is it worth designing the byte[] fields as static? I assume 
there will be different objects for different forks but only one for different 
threads?

> test/micro/org/openjdk/bench/java/security/PKCS12KeyStores.java line 137:
> 
>> 135:                 "PBEWithSHA1AndDESede", "2048",
>> 136:                 "HmacPBESHA1", "2048");
>> 137:     }
> 
> Any reason why these methods are not inlined into `@Benchmark` methods right 
> away? E.g. why it is not:
> 
>     @Benchmark
>     public byte[] outweak2048() throws Exception {
>         return out("PBEWithSHA1AndRC2_40", "2048",
>                 "PBEWithSHA1AndDESede", "2048",
>                 "HmacPBESHA1", "2048");
>     }

I want to make the byte[] fields static so the out() and gen***() methods must 
be static, and there is a warning on using a static method as a `@Benchmark` 
method.

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

PR: https://git.openjdk.java.net/jdk/pull/1277

Reply via email to