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

Improve performance of ObjectStreamClass.getClassDataLayout() on ppc arch

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • None
    • core-libs
    • None

      getClassDataLayout() checks if a private volatile variable "dataLayout" is null, and creates a data layout array when it is null. Since the variable dataLayout is volatile, even read access causes high overhead on POWER architecture (and may be ARM too). Making this variable non-volatile improved performance of GradientBoostingTree test in Intel HiBench [1] by 5% on a POWER8 machine.

      Although there is a benign race, the overhead of making this variable volatile must be larger than potential overhead for creating a data layout duplicatedly.

      [1] Intel HiBench: https://github.com/intel-hadoop/HiBench

            rriggs Roger Riggs
            horii Hiroshi Horii (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: