caching-approaches-comparison
Changes
applications/output/memoizeit-exhaustive-keycloak 121(+121 -0)
applications/output/memoizeit-iterative-keycloak 118(+118 -0)
Details
applications/output/memoizeit-exhaustive-keycloak 121(+121 -0)
diff --git a/applications/output/memoizeit-exhaustive-keycloak b/applications/output/memoizeit-exhaustive-keycloak
new file mode 100644
index 0000000..261dc76
--- /dev/null
+++ b/applications/output/memoizeit-exhaustive-keycloak
@@ -0,0 +1,121 @@
+Cluster#0
+org.keycloak.common.util.DerUtils.decodePrivateKey
+
+Cluster#1
+org.keycloak.common.util.DerUtils.decodeCertificate
+
+Cluster#2
+org.keycloak.authorization.AuthorizationProvider.4.findByName
+
+Cluster#3
+org.keycloak.common.util.PemUtils.decodeCertificate
+
+Cluster#4
+org.keycloak.common.util.PemUtils.decodePrivateKey
+
+Cluster#5
+org.keycloak.models.session.PersistentUserSessionAdapter.getData
+
+Cluster#6
+org.keycloak.models.session.PersistentAuthenticatedClientSessionAdapter.getAction
+
+Cluster#7
+org.keycloak.models.session.PersistentUserSessionAdapter.getAuthMethod
+
+Cluster#8
+org.keycloak.credential.hash.Pbkdf2PasswordHashProvider.verify
+org.keycloak.credential.hash.Pbkdf2PasswordHashProvider.encode
+
+org.keycloak.common.util.DerUtils.decodeCertificate
+GS: R50 * H1 M1 I0 S1 | IS: R0 * H0 M0 I0 S0 | GM: R50 * H1 M1 I0 S1 | IM: R0 * H0 M0 I0 S0
+single, global
+
+org.keycloak.common.util.PemUtils.decodeCertificate
+GS: R50 * H1 M1 I0 S1 | IS: R0 * H0 M0 I0 S0 | GM: R50 * H1 M1 I0 S1 | IM: R0 * H0 M0 I0 S0
+single, global
+
+org.keycloak.common.util.DerUtils.decodePrivateKey
+GS: R50 * H1 M1 I0 S1 | IS: R0 * H0 M0 I0 S0 | GM: R50 * H1 M1 I0 S1 | IM: R0 * H0 M0 I0 S0
+single, global
+
+org.keycloak.authorization.AuthorizationProvider.4.findByName
+GS: R67 * H2 M1 I0 S1 | IS: R67 * H2 M1 I0 S1 | GM: R67 * H2 M1 I0 S1 | IM: R67 * H2 M1 I0 S1
+single, global
+
+org.keycloak.common.util.PemUtils.decodePrivateKey
+GS: R67 * H2 M1 I0 S1 | IS: R0 * H0 M0 I0 S0 | GM: R67 * H2 M1 I0 S1 | IM: R0 * H0 M0 I0 S0
+single, global
+
+org.keycloak.models.session.PersistentAuthenticatedClientSessionAdapter.getAction
+GS: R89 * H8 M1 I0 S1 | IS: R89 * H8 M1 I0 S1 | GM: R89 * H8 M1 I0 S1 | IM: R89 * H8 M1 I0 S1
+single, global
+
+org.keycloak.models.session.PersistentUserSessionAdapter.getData
+GS: R89 * H8 M1 I0 S1 | IS: R0 * H0 M9 I0 S1 | GM: R89 * H8 M1 I0 S1 | IM: R0 * H0 M9 I0 S1
+single, global
+
+org.keycloak.models.session.PersistentUserSessionAdapter.getAuthMethod
+GS: R89 * H8 M1 I0 S1 | IS: R0 * H0 M9 I0 S1 | GM: R89 * H8 M1 I0 S1 | IM: R0 * H0 M9 I0 S1
+single, global
+
+org.keycloak.credential.hash.Pbkdf2PasswordHashProvider.verify
+GS: R99 * H127 M1 I0 S1 | IS: R0 * H0 M128 I0 S1 | GM: R99 * H127 M1 I0 S1 | IM: R0 * H0 M128 I0 S1
+single, global
+
+org.keycloak.credential.hash.Pbkdf2PasswordHashProvider.encode
+GS: R99 * H127 M1 I0 S1 | IS: R0 * H0 M128 I0 S1 | GM: R99 * H127 M1 I0 S1 | IM: R0 * H0 M128 I0 S1
+single, global
+
+inputstream org.keycloak.common.util.DerUtils.decodeCertificate
+error cacheable org.keycloak.common.util.PemUtils.decodeCertificate
+error cacheable+inputstream single-global org.keycloak.common.util.DerUtils.decodePrivateKey
+error cacheable single-global org.keycloak.common.util.PemUtils.decodePrivateKey
+cacheable single-global org.keycloak.authorization.AuthorizationProvider.4.findByName
+cacheable getter single-global org.keycloak.models.session.PersistentAuthenticatedClientSessionAdapter.getAction
+cacheable getter single-global org.keycloak.models.session.PersistentUserSessionAdapter.getData
+cacheable getter single-global org.keycloak.models.session.PersistentUserSessionAdapter.getAuthMethod
+cacheable match-aplcache single-global org.keycloak.credential.hash.Pbkdf2PasswordHashProvider.encode
+cacheable+internal match-aplcache single-global org.keycloak.credential.hash.Pbkdf2PasswordHashProvider.verify
+
+
+
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 0; Misses: 9; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 128; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 128; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 2; Misses: 1; Hit Ratio: 66.66666666666667%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 127; Misses: 1; Hit Ratio: 99.21875%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 0; Misses: 128; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 2; Misses: 1; Hit Ratio: 66.66666666666667%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 127; Misses: 1; Hit Ratio: 99.21875%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 9; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 2; Misses: 1; Hit Ratio: 66.66666666666667%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 128; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 2; Misses: 1; Hit Ratio: 66.66666666666667%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 1; Misses: 1; Hit Ratio: 50.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 1; Misses: 1; Hit Ratio: 50.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 2; Misses: 1; Hit Ratio: 66.66666666666667%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 1; Misses: 1; Hit Ratio: 50.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 2; Misses: 1; Hit Ratio: 66.66666666666667%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 1; Misses: 1; Hit Ratio: 50.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 127; Misses: 1; Hit Ratio: 99.21875%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 1; Misses: 1; Hit Ratio: 50.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 1; Misses: 1; Hit Ratio: 50.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 9; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 9; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 127; Misses: 1; Hit Ratio: 99.21875%; Invalidations: 0; Maximum Size: 1
applications/output/memoizeit-iterative-keycloak 118(+118 -0)
diff --git a/applications/output/memoizeit-iterative-keycloak b/applications/output/memoizeit-iterative-keycloak
new file mode 100644
index 0000000..b4b6363
--- /dev/null
+++ b/applications/output/memoizeit-iterative-keycloak
@@ -0,0 +1,118 @@
+Cluster#0
+org.keycloak.common.util.DerUtils.decodePrivateKey
+
+Cluster#1
+org.keycloak.common.util.DerUtils.decodeCertificate
+
+Cluster#2
+org.keycloak.authorization.AuthorizationProvider.4.findByName
+
+Cluster#3
+org.keycloak.common.util.PemUtils.decodeCertificate
+
+Cluster#4
+org.keycloak.common.util.PemUtils.decodePrivateKey
+
+Cluster#5
+org.keycloak.models.session.PersistentUserSessionAdapter.getData
+
+Cluster#6
+org.keycloak.models.session.PersistentAuthenticatedClientSessionAdapter.getAction
+
+Cluster#7
+org.keycloak.models.session.PersistentUserSessionAdapter.getAuthMethod
+
+Cluster#8
+org.keycloak.credential.hash.Pbkdf2PasswordHashProvider.verify
+org.keycloak.credential.hash.Pbkdf2PasswordHashProvider.encode
+
+org.keycloak.common.util.DerUtils.decodeCertificate
+GS: R50 * H1 M1 I0 S1 | IS: R0 * H0 M0 I0 S0 | GM: R50 * H1 M1 I0 S1 | IM: R0 * H0 M0 I0 S0
+single, global
+
+org.keycloak.common.util.PemUtils.decodeCertificate
+GS: R50 * H1 M1 I0 S1 | IS: R0 * H0 M0 I0 S0 | GM: R50 * H1 M1 I0 S1 | IM: R0 * H0 M0 I0 S0
+single, global
+
+org.keycloak.common.util.DerUtils.decodePrivateKey
+GS: R50 * H1 M1 I0 S1 | IS: R0 * H0 M0 I0 S0 | GM: R50 * H1 M1 I0 S1 | IM: R0 * H0 M0 I0 S0
+single, global
+
+org.keycloak.authorization.AuthorizationProvider.4.findByName
+GS: R67 * H2 M1 I0 S1 | IS: R67 * H2 M1 I0 S1 | GM: R67 * H2 M1 I0 S1 | IM: R67 * H2 M1 I0 S1
+single, global
+
+org.keycloak.common.util.PemUtils.decodePrivateKey
+GS: R67 * H2 M1 I0 S1 | IS: R0 * H0 M0 I0 S0 | GM: R67 * H2 M1 I0 S1 | IM: R0 * H0 M0 I0 S0
+single, global
+
+org.keycloak.models.session.PersistentAuthenticatedClientSessionAdapter.getAction
+GS: R89 * H8 M1 I0 S1 | IS: R89 * H8 M1 I0 S1 | GM: R89 * H8 M1 I0 S1 | IM: R89 * H8 M1 I0 S1
+single, global
+
+org.keycloak.models.session.PersistentUserSessionAdapter.getData
+GS: R89 * H8 M1 I0 S1 | IS: R0 * H0 M9 I0 S1 | GM: R89 * H8 M1 I0 S1 | IM: R0 * H0 M9 I0 S1
+single, global
+
+org.keycloak.models.session.PersistentUserSessionAdapter.getAuthMethod
+GS: R89 * H8 M1 I0 S1 | IS: R0 * H0 M9 I0 S1 | GM: R89 * H8 M1 I0 S1 | IM: R0 * H0 M9 I0 S1
+single, global
+
+org.keycloak.credential.hash.Pbkdf2PasswordHashProvider.verify
+GS: R99 * H127 M1 I0 S1 | IS: R0 * H0 M128 I0 S1 | GM: R99 * H127 M1 I0 S1 | IM: R0 * H0 M128 I0 S1
+single, global
+
+org.keycloak.credential.hash.Pbkdf2PasswordHashProvider.encode
+GS: R99 * H127 M1 I0 S1 | IS: R0 * H0 M128 I0 S1 | GM: R99 * H127 M1 I0 S1 | IM: R0 * H0 M128 I0 S1
+single, global
+
+org.keycloak.common.util.DerUtils.decodeCertificate
+org.keycloak.common.util.PemUtils.decodeCertificate
+org.keycloak.common.util.DerUtils.decodePrivateKey
+org.keycloak.authorization.AuthorizationProvider.4.findByName
+org.keycloak.common.util.PemUtils.decodePrivateKey
+org.keycloak.models.session.PersistentAuthenticatedClientSessionAdapter.getAction
+org.keycloak.models.session.PersistentUserSessionAdapter.getData
+org.keycloak.models.session.PersistentUserSessionAdapter.getAuthMethod
+org.keycloak.credential.hash.Pbkdf2PasswordHashProvider.verify
+org.keycloak.credential.hash.Pbkdf2PasswordHashProvider.encode
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 0; Misses: 9; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 1; Misses: 1; Hit Ratio: 50.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 127; Misses: 1; Hit Ratio: 99.21875%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 1; Misses: 1; Hit Ratio: 50.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 127; Misses: 1; Hit Ratio: 99.21875%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 2; Misses: 1; Hit Ratio: 66.66666666666667%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 1; Misses: 1; Hit Ratio: 50.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 2; Misses: 1; Hit Ratio: 66.66666666666667%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 9; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 2; Misses: 1; Hit Ratio: 66.66666666666667%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 2; Misses: 1; Hit Ratio: 66.66666666666667%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 1; Misses: 1; Hit Ratio: 50.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 128; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 2; Misses: 1; Hit Ratio: 66.66666666666667%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 9; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 2; Misses: 1; Hit Ratio: 66.66666666666667%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 9; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 127; Misses: 1; Hit Ratio: 99.21875%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 127; Misses: 1; Hit Ratio: 99.21875%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 1; Misses: 1; Hit Ratio: 50.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 128; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 8; Misses: 1; Hit Ratio: 88.88888888888889%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 128; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 128; Hit Ratio: 0.0%; Invalidations: 0; Maximum Size: 1
+AnonymousCache: Hits: 0; Misses: 0; Hit Ratio: NaN%; Invalidations: 0; Maximum Size: 0
+AnonymousCache: Hits: 1; Misses: 1; Hit Ratio: 50.0%; Invalidations: 0; Maximum Size: 1