Opened 14 months ago

Last modified 3 months ago

#7679 new bug

Regression in -fregs-graph performance

Reported by: simonmar Owned by:
Priority: high Milestone: 7.8.3
Component: Compiler (NCG) Version: 7.6.2
Keywords: Cc: tibbe, benl, pho@…, shelarcy@…, simonmar
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Runtime performance bug Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets: #7192, #8657

Description

Likely due to a bad interaction with the new code generator, see #7192.

-fregs-graph used to be on by default with -O2, but is currently off due to this issue.

Results courtesy of @tibbe:

HEAD vs HEAD with -fregs-graph:

--------------------------------------------------------------------------------
        Program           Size    Allocs   Runtime   Elapsed  TotalMem
--------------------------------------------------------------------------------
           anna          +0.1%     +0.0%      0.08      0.08     +0.0%
           ansi          +0.0%     +0.0%      0.00      0.00     +0.0%
           atom          +0.0%     +0.0%     +0.0%     -0.8%     +0.0%
         awards          -0.0%     +0.0%      0.00      0.00     +0.0%
         banner          -0.0%     +0.0%      0.00      0.00     +0.0%
     bernouilli          +0.0%     +0.0%      0.12      0.12     +0.0%
   binary-trees          +0.0%     +0.0%     +0.0%     +0.0%     +0.0%
          boyer          -0.0%     +0.0%      0.04      0.04     +0.0%
         boyer2          -0.0%     +0.0%      0.01      0.01     +0.0%
           bspt          -0.0%     +0.0%      0.02      0.02     +0.0%
      cacheprof          +0.0%     +0.0%     -3.1%     -3.1%     +0.0%
       calendar          -0.0%     +0.0%      0.00      0.00     +0.0%
       cichelli          +0.0%     +0.0%      0.05      0.05     +3.0%
        circsim          +0.0%     +0.0%     -0.3%     -0.3%     +0.0%
       clausify          -0.0%     +0.0%      0.03      0.03     +0.0%
  comp_lab_zift          -0.0%     +0.0%      0.14      0.14     +0.0%
       compress          +0.0%     +0.0%      0.11      0.11     +0.0%
      compress2          +0.0%     +0.0%      0.14      0.14     +0.0%
    constraints          +0.0%     +0.0%     -1.4%     -1.4%     +0.0%
   cryptarithm1          +0.0%     +0.0%     +1.6%     +1.0%     +0.0%
   cryptarithm2          +0.0%     +0.0%      0.01      0.01     +0.0%
            cse          +0.0%     +0.0%      0.00      0.00     +0.0%
          eliza          -0.0%     +0.0%      0.00      0.00     +0.0%
          event          +0.0%     +0.0%      0.10      0.10     +0.0%
         exp3_8          +0.0%     +0.0%      0.14      0.14     +0.0%
         expert          +0.0%     +0.0%      0.00      0.00     +0.0%
 fannkuch-redux          +0.0%     +0.0%    +10.6%    +10.4%     +0.0%
          fasta          -0.0%     +0.0%     -0.6%     -0.6%     +0.0%
            fem          +0.0%     +0.0%      0.03      0.03     +0.0%
            fft          -0.0%     +0.0%      0.03      0.03     +0.0%
           fft2          +0.0%     +0.0%      0.04      0.04     +0.0%
       fibheaps          -0.0%     +0.0%      0.03      0.03     +0.0%
           fish          +0.0%     +0.0%      0.01      0.01     +0.0%
          fluid          +0.0%     +0.0%      0.01      0.01     +0.0%
         fulsom          +0.1%     +0.0%     -5.9%     -5.9%     -5.3%
         gamteb          +0.0%     +0.0%      0.04      0.04     +0.0%
            gcd          +0.0%     +0.0%      0.03      0.03     +0.0%
    gen_regexps          +0.0%     +0.0%      0.00      0.00     +0.0%
         genfft          +0.0%     +0.0%      0.03      0.03     +0.0%
             gg          +0.0%     +0.0%      0.02      0.02     +0.0%
           grep          +0.1%     +0.0%      0.00      0.00     +0.0%
         hidden          +0.0%     +0.0%     +3.4%     +2.7%     +0.0%
            hpg          +0.0%     +0.0%      0.10      0.10     +0.0%
            ida          -0.0%     +0.0%      0.06      0.06     +0.0%
          infer          +0.0%     +0.0%      0.05      0.05     +0.0%
        integer          -0.0%     +0.0%     +3.0%     +2.9%     +0.0%
      integrate          +0.0%     +0.0%      0.13      0.13     +0.0%
   k-nucleotide          +0.4%     +0.0%     +3.4%     +3.5%     +0.0%
          kahan          +0.0%     +0.0%      0.18      0.18     +0.0%
        knights          -0.1%     +0.0%      0.01      0.01     +0.0%
           lcss          +0.0%     +0.0%     +0.7%     +0.7%     +0.0%
           life          -0.0%     +0.0%      0.16      0.16     +0.0%
           lift          +0.0%     +0.0%      0.00      0.00     +0.0%
      listcompr          -0.0%     +0.0%      0.06      0.06     +0.0%
       listcopy          -0.0%     +0.0%      0.06      0.06     +0.0%
       maillist          -0.0%     +0.0%      0.04      0.04    -11.2%
         mandel          +0.0%     +0.0%      0.05      0.05     +0.0%
        mandel2          -0.0%     +0.0%      0.00      0.00     +0.0%
        minimax          +0.0%     +0.0%      0.00      0.00     +0.0%
        mkhprog          +0.0%     +0.0%      0.00      0.00     +0.0%
     multiplier          -0.0%     +0.0%      0.08      0.08     +0.0%
         n-body          -0.0%     +0.0%    +28.2%    +28.2%     +0.0%
       nucleic2          +0.0%     +0.0%      0.05      0.05     +0.0%
           para          -0.1%     +0.0%     +1.0%     +1.0%     +0.0%
      paraffins          -0.0%     +0.0%      0.08      0.08     +0.0%
         parser          +0.0%     +0.0%      0.03      0.03     +0.0%
        parstof          -0.0%     +0.0%      0.00      0.00     +0.0%
            pic          -0.0%     +0.0%      0.00      0.00     +0.0%
       pidigits          -0.0%     +0.0%     -0.6%     +0.0%     +0.0%
          power          +0.0%     +0.0%     +1.9%     +1.9%     +0.0%
         pretty          +0.0%     +0.0%      0.00      0.00     +0.0%
         primes          -0.0%     +0.0%      0.05      0.05     +0.0%
      primetest          -0.0%     +0.0%      0.07      0.07     +0.0%
         prolog          +0.0%     +0.0%      0.00      0.00     +0.0%
         puzzle          -0.0%     +0.0%      0.10      0.10     +0.0%
         queens          +0.0%     +0.0%      0.02      0.02     +0.0%
        reptile          +0.0%     +0.0%      0.02      0.02     +0.0%
reverse-complem          -0.0%     +0.0%      0.08      0.08     +0.0%
        rewrite          +0.0%     +0.0%      0.02      0.02     +0.0%
           rfib          +0.0%     +0.0%      0.02      0.02     +0.0%
            rsa          +0.0%     +0.0%      0.03      0.03     +0.0%
            scc          -0.0%     +0.0%      0.00      0.00     +0.0%
          sched          -0.0%     +0.0%      0.02      0.02     +0.0%
            scs          -0.0%     +0.0%     -1.1%     -0.5%     +0.0%
         simple          -0.1%     +0.0%      0.16      0.16     +0.0%
          solid          -0.0%     +0.0%      0.10      0.10     +0.0%
        sorting          -0.0%     +0.0%      0.00      0.00     +0.0%
  spectral-norm          -0.0%     +0.0%     +0.0%     +0.0%     +0.0%
         sphere          +0.1%     +0.0%      0.03      0.03     +0.0%
         symalg          -0.0%     +0.0%      0.01      0.01     +0.0%
            tak          +0.0%     +0.0%      0.01      0.01     +0.0%
      transform          -0.0%     +0.0%     +0.0%     +0.0%     +0.0%
       treejoin          +0.0%     +0.0%      0.15      0.15     +0.0%
      typecheck          +0.0%     +0.0%      0.15      0.15     +0.0%
        veritas          +0.1%     +0.0%      0.00      0.00     +0.0%
           wang          +0.0%     +0.0%      0.08      0.08     +0.0%
      wave4main          +0.0%     +0.0%      0.19      0.19     +0.0%
   wheel-sieve1          -0.0%     +0.0%     -0.8%     -0.8%     +0.0%
   wheel-sieve2          -0.0%     +0.0%      0.13      0.13     +0.0%
           x2n1          -0.0%     +0.0%      0.01      0.01     +0.0%
--------------------------------------------------------------------------------
            Min          -0.1%     +0.0%     -5.9%     -5.9%    -11.2%
            Max          +0.4%     +0.0%    +28.2%    +28.2%     +3.0%
 Geometric Mean          +0.0%     -0.0%     +1.7%     +1.7%     -0.1%

Change History (4)

comment:1 Changed 14 months ago by PHO

  • Cc pho@… added

comment:2 Changed 14 months ago by shelarcy

  • Cc shelarcy@… added

comment:3 Changed 3 months ago by simonmar

  • Cc simonmar added

comment:4 Changed 3 months ago by Simon Marlow <marlowsd@…>

In f0a7261a39bd1a8c5217fecba56c593c353f198c/ghc:

Disable -fregs-graph (#7679, #8657)
Note: See TracTickets for help on using tickets.