RFR: 8285398: Cache the results of constraint checks
Daniel Jeliński
djelinski at openjdk.java.net
Mon Apr 25 17:26:26 UTC 2022
On Mon, 25 Apr 2022 14:33:13 GMT, Xue-Lei Andrew Fan <xuelei at openjdk.org> wrote:
>> `SoftReference`s are guaranteed to survive one GC after use; beyond that their lifespan is determined by `SoftRefLRUPolicyMSPerMB` and the amount of memory available.
>
>> With all the above in mind I decided not to use `sun.security.util.Cache` here
>
> I was not meant to use Cache and timeout for this update.
>
> SoftReference and this patch should work good in larger memory boxes. Performance improvement sometimes is a trade-off game between memory and CPU. Did you have a chance to check the performance in the limited memory circumstance? like '-mx64M".
I run a few tests:
`-Xmx16m`, with this patch, still better than the original version:
Benchmark (resume) (tlsVersion) Mode Cnt Score Error Units
SSLHandshake.doHandshake true TLSv1.2 thrpt 5 4477.444 ± 375.975 ops/s
SSLHandshake.doHandshake true TLS thrpt 5 681.471 ± 72.531 ops/s
SSLHandshake.doHandshake false TLSv1.2 thrpt 5 335.366 ± 89.056 ops/s
SSLHandshake.doHandshake false TLS thrpt 5 308.711 ± 90.134 ops/s
`-Xmx8m`, before patch:
Benchmark (resume) (tlsVersion) Mode Cnt Score Error Units
SSLHandshake.doHandshake true TLSv1.2 thrpt 5 153.760 ± 12.025 ops/s
SSLHandshake.doHandshake true TLS thrpt 5 70.700 ± 7.506 ops/s
SSLHandshake.doHandshake false TLSv1.2 thrpt 5 67.459 ± 4.325 ops/s
SSLHandshake.doHandshake false TLS thrpt 5 64.695 ± 1.647 ops/s
after:
Benchmark (resume) (tlsVersion) Mode Cnt Score Error Units
SSLHandshake.doHandshake true TLSv1.2 thrpt 5 557.324 ± 50.269 ops/s
SSLHandshake.doHandshake true TLS thrpt 5 155.258 ± 13.866 ops/s
SSLHandshake.doHandshake false TLSv1.2 thrpt 5 181.755 ± 29.319 ops/s
SSLHandshake.doHandshake false TLS thrpt 5 120.627 ± 25.832 ops/s
Much slower, but still faster with the patch.
With `-Xmx4m` the test failed with OOM.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8349
More information about the security-dev
mailing list