Proxy.isProxyClass scalability (original) (raw)
Peter Levart peter.levart at gmail.com
Wed Apr 24 12:21:42 UTC 2013
- Previous message: Proxy.isProxyClass scalability
- Next message: Proxy.isProxyClass scalability
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 04/24/2013 09:16 AM, Peter Levart wrote:
On 04/24/2013 01:43 AM, Mandy Chung wrote: Precise check should be to validate if the given interfaces == the proxy interfaces implemented by the cached proxy class (i.e. proxyClass.getInterfaces()). Hi Mandy, I will try to profile this approach as a post-validation and let you know the results.
Hi Mandy,
Here's the modified webrev using optimized String-based sub-keys and pos-validation of proxyClass using proxyClass.getInterfaces():
https://dl.dropboxusercontent.com/u/101777488/jdk8-tl/proxy-wc/webrev.04/index.html
The benchmark results are the following:
Summary (4 Cores x 2 Threads i7 CPU): WeakCache+ ns/op Strings key+ Test Threads Original getIntfcs() post-valid. ======================= ======= =========== =========== Proxy_getProxyClass 1 2,453.77 565.96 4 3,051.12 653.81 8 5,113.27 1,174.33
Proxy_isProxyClassTrue 1 94.96 41.47 4 2,102.29 41.57 8 4,823.50 71.80
Proxy_isProxyClassFalse 1 86.59 1.36 4 2,139.05 1.36 8 4,639.17 2.72
Annotation_equals 1 222.86 195.39 4 2,972.93 197.66 8 9,658.96 338.62
... not that bad, but not so great either, compared to Weakly referenced interfaces-based sub-key and no post-validation:
WeakCache+ Test Threads ns/op Original intfcs key ======================= ======= ============== =========== Proxy_getProxyClass 1 2,403.27 163.57 4 3,039.01 211.70 8 5,193.58 322.14
Proxy_isProxyClassTrue 1 95.02 41.23 4 2,266.29 42.20 8 4,782.29 72.21
Proxy_isProxyClassFalse 1 95.02 1.36 4 2,186.59 1.36 8 4,891.15 2.72
Annotation_equals 1 240.10 194.61 4 1,864.06 198.81 8 8,639.20 342.90
Regards, Peter
- Previous message: Proxy.isProxyClass scalability
- Next message: Proxy.isProxyClass scalability
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]