[9] RFR(S): 8034839: jvm hangs with gc/gctests/LoadUnloadGC test (original) (raw)

Albert albert.noll at oracle.com
Fri Feb 21 00:04:55 PST 2014


Hi,

could I get reviews for this small patch?

Bug: https://bugs.openjdk.java.net/browse/JDK-8034839

Problem: The problem is that the patch (7194669) - which was supposed to speed-up dependency checking causes a performance regression. The reason for the performance regression is that most dependencies are unique, so we have the overhead of determining if the dependency is already checked plus the overhead of dependency checking. The overhead of searching is significant, since we perform a linear search on 6000+ items each time.

Solution: Use a hashtable instead of linear search to lookup already checked dependencies. The new hashtable is very rudimentary. It provides only the required functionality to solve this bug. However, the functionality can be easily extended as needed.

Testing: jprt, failing test case, nashorn. The failing test case completes in approx. the same time as before 7194669. For nashorn + Octane, this patch yields the following times spent for dependency checking:

           with this patch:  844s
                    7194669: 1080s
        before 7194669: 5223s

webrev: http://cr.openjdk.java.net/~anoll/8034939/webrev.00/

Thanks, Albert

-------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20140221/59a5c627/attachment.html



More information about the hotspot-compiler-dev mailing list