RFR: 8170595: Optimize Class.isAnonymousClass

christoph.dreis at freenet.de christoph.dreis at freenet.de
Thu Dec 1 16:58:39 UTC 2016


        Hey,

since I created the original mail I hope you don't mind my interest/comments. What about using 
!isArray() && isLocalOrAnonymousClass() &&getSimpleBinaryName0() == null;to increase readability a bit?

Thanks for investigating my initial interest on that level!

Cheers,
Christoph

> Hi,
>
> due to recent interest to optimize Class.isAnonymousClass[1] I took
> a look at the implementation and found that we can further improve
> performance of this method, especially when asking non-anonymous
> classes[2].
>
> As such calls are a common occurrence during startup and bootstrap
> of lambdas this actually appears rather worthwhile:
>
> Webrev: http://cr.openjdk.java.net/~redestad/8170595/webrev.01/
> Bug: https://bugs.openjdk.java.net/browse/JDK-8170595
>
> Thanks!
>
> /Claes
>
> [1] 
>http://mail.openjdk.java.net/pipermail/core-libs-dev/2016-December/045116.html
> [2]
> Benchmark                       Mode  Cnt    Score    Error  Units
> Clazz.isAnonymousClass_Anon     avgt   50  200.900 ± 15.503  ns/op
> Clazz.isAnonymousClass_Regular  avgt   50  136.896 ±  9.605  ns/op
>
> Clazz.isAnonymousClass_Anon     avgt   50  186.564 ± 12.219  ns/op
> Clazz.isAnonymousClass_Regular  avgt   50   33.878 ±  1.524  ns/op
>
> See bug for benchmark source
>
>
> -----Ursprüngliche Nachricht Ende-----




---
Die Bundesliga hat begonnen! Alle Tore, alle Ergebnisse, alle News: Pocket Liga jetzt im https://app.adjust.com/dpynzd oder https://app.adjust.com/dpynzd herunterladen - kostenlos!



More information about the core-libs-dev mailing list