1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.crypto.jna;
19
20 import java.util.concurrent.TimeUnit;
21
22 import org.apache.commons.crypto.AbstractBenchmark;
23 import org.openjdk.jmh.annotations.Benchmark;
24 import org.openjdk.jmh.annotations.BenchmarkMode;
25 import org.openjdk.jmh.annotations.Fork;
26 import org.openjdk.jmh.annotations.Measurement;
27 import org.openjdk.jmh.annotations.Mode;
28 import org.openjdk.jmh.annotations.OutputTimeUnit;
29 import org.openjdk.jmh.annotations.Threads;
30 import org.openjdk.jmh.annotations.Warmup;
31
32
33
34
35
36 @BenchmarkMode(Mode.AverageTime)
37 @Fork(value = 1, jvmArgs = "-server")
38 @Threads(1)
39 @Warmup(iterations = 10)
40 @Measurement(iterations = 20)
41 @OutputTimeUnit(TimeUnit.MILLISECONDS)
42 public class CryptoJnaBenchmark extends AbstractBenchmark {
43
44 private static final String RANDOM_OPENSSL_JNA = OpenSslJna.getRandomClass().getName();
45
46 private static final String CIPHER_OPENSSL_JNA = OpenSslJna.getCipherClass().getName();
47
48
49 @Benchmark
50 public void RandomTestOpensslJNA() throws Exception {
51 random(RANDOM_OPENSSL_JNA);
52 }
53
54 @Benchmark
55 public void RandomCreateOpensslJNA() throws Exception {
56 getRandom(RANDOM_OPENSSL_JNA);
57 }
58
59 @Benchmark
60 public void CipherCreateOpensslJna() throws Exception {
61 getCipher(CIPHER_OPENSSL_JNA);
62 }
63
64 @Benchmark
65 public void CipherTestOpensslJna() throws Exception {
66 encipher(CIPHER_OPENSSL_JNA);
67 }
68
69 }