RVM
  1. RVM
  2. RVM-742

Bloat performance regression

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: hg tip
    • Fix Version/s: hg tip
    • Component/s: Compiler: Optimizing
    • Labels:
      None
    • Number of attachments :
      1

      Description

      There has been a noticeable dip in bloat performance (was hovering around 96-98%, now around 90-92%). See attached graph, available at [1] if you're lucky.

      On close inspection, the dip occurred between performance runs 6694 & 6699, which points to the commits 15225-15227.

      15225: Switch use of StringBuffer to StringBuilder
      15226: RVM-725 WIP: make naming of opt compiler options more regular. Introduce options for local expression folding and tableswitch conversion.
      15227: RVM-725 WIP: introduce new options to control bonuses given to reduce the method size when particular arguments are passed to a method being considered for inlining.

      [1] http://jikesrvm.anu.edu.au/cattrack/results/habanero.anu.edu.au/perf/6975/production/default/perf-dacapo/bloat-10/bloat-10-time.large.png

        Activity

        Hide
        Ian Rogers added a comment -

        I think r15227 is the prime culprit. I believe we may need to vary the way we compute options so that for production builds the options aren't optional but finals that can be folded.

        Show
        Ian Rogers added a comment - I think r15227 is the prime culprit. I believe we may need to vary the way we compute options so that for production builds the options aren't optional but finals that can be folded.
        Hide
        David Grove added a comment -

        It seems unlikely to me that the compile time cost of reading the option in an inline oracle would cause significant change in compile time. The whole BC2IR phase (which includes inlining & IR construction) is a small fraction of overall compile time.

        It seems more likely that an unintended behavioral change happened as a result of one of these changes.

        Show
        David Grove added a comment - It seems unlikely to me that the compile time cost of reading the option in an inline oracle would cause significant change in compile time. The whole BC2IR phase (which includes inlining & IR construction) is a small fraction of overall compile time. It seems more likely that an unintended behavioral change happened as a result of one of these changes.
        Hide
        Ian Rogers added a comment -

        Hopeful fix in r15326, the name of profile options weren't renamed when they were as part of RVM-725. Therefore profile data wasn't being picked up.

        Show
        Ian Rogers added a comment - Hopeful fix in r15326, the name of profile options weren't renamed when they were as part of RVM-725 . Therefore profile data wasn't being picked up.
        Hide
        Ian Rogers added a comment -

        r15326 and reboot of habanero now have bloat performance at a level of 96.5% to 99.1%, which is within the normal bounds of its execution.

        Show
        Ian Rogers added a comment - r15326 and reboot of habanero now have bloat performance at a level of 96.5% to 99.1%, which is within the normal bounds of its execution.

          People

          • Assignee:
            Ian Rogers
            Reporter:
            Steve Blackburn
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: