Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8146987

Improve Parallel GC Full GC by caching results of live_words_in_range()

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P3 P3
    • 9
    • 9
    • hotspot
    • gc
    • b107

      The change addresses an inefficiency in the live_words_in_range() routine in ParallelScavenge Full GC, which generally costs most of the time during the compacting phase.

      The idea records last query information of live_words_in_range as well as the query result. The approach reuses last query result so that can reduce much computation of bitmap searching.

      Manual testing of full GC intensive applications including JOlden, Dacapo, SPECjvm2008 benchmarks.
      Results show that our enhancement can reduce much full GC time by 20~50%, depending on application scenarios.

      Contributed by ray alex <sky1young@gmail.com>
      Mailing list thread start: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2015-December/015899.html

        1. range_helper_types.png
          74 kB
          Thomas Schatzl
        2. reftypes.diff
          4 kB
          Thomas Schatzl

            tschatzl Thomas Schatzl
            tschatzl Thomas Schatzl
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: