Skip to content

Commit 4cfc971

Browse files
committed
Bump version and re-run benchmarks
1 parent a3e23b4 commit 4cfc971

31 files changed

+1358
-170
lines changed

README.md

+27-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,29 @@ The JMH plugin seems to have trouble refreshing the project, so restart the Grad
2929
* Verify token, get claim.
3030

3131
## Results
32-
A [visualization] is available, in short:
32+
Running for OpenJDK 1.8.0 build 191.
33+
34+
A [visualization_v1.1.0] is available, summery:
35+
36+
| Framework | Version | Verify (op/s) | Claim (op/s) |
37+
| --------- | ----- |----- | ----- |
38+
|[java-jwt] | 3.7.0/0.7.0 | 14.5k | 14.6k |
39+
|[jjwt] | 0.9.1 | 14.7k | 14.9k |
40+
|[Okta JWT Verifier for Java]| 0.4.0 | 0.61k | 0.61k |
41+
42+
In short, **java-jwt has caught up with jjwt, they are now essentially just as fast**.
43+
Okta JWT verifiser has regressed into a total disaster. This result should be investigated further, as it might be invalid.
44+
45+
Only [java-jwt] seems to parse without validation, at about 52.3k operations per second.
46+
47+
# Previous results
48+
Note that **the relative number matters**, benchmarks are not necessarily run on the same machine, operating system or Java version.
49+
50+
## Version 1.0.0:
51+
52+
Running for Oracle JDK 1.8 build unknown-
53+
54+
A [visualization_v1.0.0] is available, summery:
3355

3456
| Framework | Version | Verify (op/s) | Claim (op/s) |
3557
| --------- | ----- |----- | ----- |
@@ -41,6 +63,7 @@ Only [java-jwt] seems to parse without validation, at about 65.2k operations per
4163

4264
# History
4365

66+
- 1.1.0: Bumped versions after accepted performance-enhancing [PR#255] for java-jwt.
4467
- 1.0.0: Initial version
4568

4669
[Apache 2.0]: http://www.apache.org/licenses/LICENSE-2.0.html
@@ -51,4 +74,6 @@ Only [java-jwt] seems to parse without validation, at about 65.2k operations per
5174
[JMH]: http://openjdk.java.net/projects/code-tools/jmh/
5275
[jjwt]: https://github.com/jwtk/jjwt
5376
[Okta JWT Verifier for Java]: https://github.com/okta/okta-jwt-verifier-java
54-
[visualization]: https://skjolber.github.io/java-jwt-benchmark/jmh/index.html
77+
[visualization_v1.0.0]: https://skjolber.github.io/java-jwt-benchmark/jmh_v1.0.0/index.html
78+
[visualization_v1.1.0]: https://skjolber.github.io/java-jwt-benchmark/jmh_v1.1.0/index.html
79+
[PR#255]: https://github.com/auth0/java-jwt/pull/255

build.gradle

+34-9
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
plugins {
2-
id 'me.champeau.gradle.jmh' version '0.4.5' apply false
3-
id 'com.github.ben-manes.versions' version '0.17.0' apply false
4-
id 'org.owasp.dependencycheck' version '3.2.1' apply false
5-
id 'com.github.spotbugs' version '1.6.2' apply false
6-
id 'io.morethan.jmhreport' version '0.7.0' apply false
2+
id 'me.champeau.gradle.jmh' version '0.4.8' apply false
3+
id 'com.github.ben-manes.versions' version '0.20.0' apply false
4+
id 'org.owasp.dependencycheck' version '4.0.2' apply false
5+
id 'com.github.spotbugs' version '1.6.9' apply false
6+
id 'io.morethan.jmhreport' version '0.9.0' apply false
77
}
88

99
subprojects {
@@ -17,17 +17,42 @@ subprojects {
1717
targetCompatibility = 1.8
1818

1919
ext {
20-
javaJwtVersion = '3.3.0'
21-
jwksRsaVersion = '0.4.0'
22-
jjwtVersion = '0.9.0'
20+
javaJwtVersion = '3.7.0'
21+
jwksRsaVersion = '0.7.0'
22+
jjwtVersion = '0.9.1'
2323
jmhVersion = '1.21'
24-
oktaVersion = '0.3.0'
24+
oktaVersion = '0.4.0'
25+
junitJupiterVersion = '5.3.2'
2526
}
2627

2728
repositories {
2829
mavenLocal()
2930
jcenter()
3031
}
32+
33+
test {
34+
useJUnitPlatform {
35+
includeEngines 'junit-jupiter'
36+
}
37+
38+
reports {
39+
html.enabled = true
40+
}
41+
}
42+
43+
dependencies {
44+
testImplementation "org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}"
45+
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}"
46+
}
47+
48+
// To generate an HTML report instead of XML
49+
tasks.withType(com.github.spotbugs.SpotBugsTask) {
50+
reports {
51+
xml.enabled = false
52+
html.enabled = true
53+
}
54+
}
55+
3156
}
3257

3358
configure(project(':jmh-benchmark')) {
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file not shown.

docs/jmh_v1.1.0/89889688147bd7575d6327160d64e760.svg

+288
Loading

docs/jmh_v1.1.0/bundle.js

+53
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Binary file not shown.
Binary file not shown.
Binary file not shown.

docs/jmh_v1.1.0/favicons/favicon.ico

318 Bytes
Binary file not shown.

docs/jmh_v1.1.0/index.html

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>JMH Visualizer</title>
6+
<meta name="description" content="JMH Visualizer helps you to visualize your JMH benchmark results. Just upload your JSON report and you will get it visualized as charts." />
7+
<meta name="keywords" content="JMH, Java, benchmark, visualization, visualize, viz, visual, report, chart, plot, graph, result, online, explore">
8+
<link rel="shortcut icon" href="favicons/favicon.ico" />
9+
<link rel="icon" href="favicons/favicon.ico" />
10+
<script src="provided.js"></script>
11+
<script src="settings.js"></script>
12+
<style type="text/css">
13+
body {
14+
color: #212121;
15+
font-family: "Helvetica Neue", "Calibri Light", Roboto, sans-serif;
16+
-webkit-font-smoothing: antialiased;
17+
-moz-osx-font-smoothing: grayscale;
18+
letter-spacing: 0.02em;
19+
}
20+
</style>
21+
</head>
22+
<body>
23+
<div id="main"></div>
24+
<script type="text/javascript" src="bundle.js"></script></body>
25+
</html>

0 commit comments

Comments
 (0)