[GHC] #8655: Evaluate know-to-terminate-soon thunks

GHC ghc-devs at haskell.org
Tue Jan 7 15:03:21 UTC 2014


#8655: Evaluate know-to-terminate-soon thunks
-------------------------------------+------------------------------------
        Reporter:  nomeata           |            Owner:  nomeata
            Type:  task              |           Status:  new
        Priority:  normal            |        Milestone:
       Component:  Compiler          |          Version:  7.6.3
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------

Comment (by nomeata):

 Thanks for the suggestion. Two new runs, unloaded machine, slow mode.
 Slightly different numbers, but encouraging again:

 {{{
 --------------------------------------------------------------------------------
         Program           Size    Allocs   Runtime   Elapsed  TotalMem
 --------------------------------------------------------------------------------
            ansi          +0.0%     +0.0%     +0.3%     +0.5%     +0.0%
            atom          +0.0%     -0.0%     +0.6%     +0.6%     +0.0%
    binary-trees          +0.0%     +0.0%     +0.0%     -0.0%     +0.0%
           boyer          +0.0%     +0.0%     -0.5%     -0.5%     +0.0%
       cacheprof          +0.0%     -0.2%     -1.6%     -1.6%     +0.9%
        calendar          +0.0%     +0.0%     -0.7%     -0.7%     +0.0%
         circsim          +0.0%     +0.0%     -0.9%     -1.2%     +0.0%
        clausify          +0.0%     +0.0%     +0.6%     +0.6%     +0.0%
   comp_lab_zift          +0.0%     +0.0%     +0.7%     +0.0%     +0.0%
     constraints          +0.0%     +0.0%     -0.3%     -0.4%     +0.0%
    cryptarithm1          +0.0%     +0.0%     -0.5%     -0.5%     +0.0%
           event          +0.0%     +0.0%     +0.0%     +0.0%     +0.0%
          exp3_8          +0.0%     +0.0%     +0.0%     +0.0%     +0.0%
  fannkuch-redux          +0.0%     +0.0%     +0.0%     +0.0%     +0.0%
           fasta          +0.0%     +0.0%     +0.2%     +0.2%     +0.0%
             fft          +0.0%     +0.0%     -0.8%     -0.8%     +0.0%
        fibheaps          +0.0%     +0.0%     -3.0%     -3.0%     +0.0%
           fluid          -0.0%     -0.1%      0.01      0.01     +0.0%
     gen_regexps          +0.0%     +0.0%     -1.2%     -0.4%     +0.0%
          genfft          +0.0%     +0.0%     -2.2%     +0.0%     +0.0%
          hidden          +0.0%     +0.0%     +0.0%     +0.0%     +0.0%
             ida          +0.0%     +0.0%     +0.0%     +0.0%     +0.0%
         integer          +0.0%     +0.0%     -0.2%     -0.2%     +0.0%
       integrate          +0.0%     +0.0%     -0.9%     -0.9%     +0.0%
    k-nucleotide          +0.0%     +0.0%     -0.4%     -0.4%     +0.0%
           kahan          +0.0%     +0.0%     +1.2%     +1.2%     +0.0%
         knights          +0.0%     +0.0%     +0.0%     +0.0%     +0.0%
            lcss          +0.0%     +0.0%     -1.9%     -1.9%     +0.0%
      multiplier          +0.0%     +0.0%     -0.4%     -0.4%     +0.0%
          n-body          +0.0%     +0.0%     -0.6%     -0.6%     +0.0%
            para          +0.0%     +0.0%     +0.0%     +0.0%     +0.0%
       paraffins          +0.0%     +0.0%     -3.3%     -2.9%     +0.0%
        pidigits          +0.0%     +0.0%     +0.2%     +0.4%     +0.0%
           power          +0.0%     +0.0%     -0.6%     -0.6%     +0.0%
          primes          +0.0%     +0.0%     -0.4%     -0.4%     +0.0%
          queens          +0.0%     +0.0%     +0.0%     +0.0%     +0.0%
 reverse-complem          +0.0%     +0.0%     +0.0%     +0.3%     +0.0%
         rewrite          +0.0%     +0.0%     +1.7%     +2.5%     +0.0%
           sched          +0.0%     +0.0%     +0.3%     +0.3%     +0.0%
             scs          +0.0%     +0.0%     +0.5%     +0.5%     +0.0%
           solid          +0.0%     +0.0%     -0.6%     -0.6%     +0.0%
   spectral-norm          +0.0%     +0.0%     +0.0%     -0.1%     +0.0%
             tak          +0.0%     +0.0%     +0.7%     +0.7%     +0.0%
       transform          +0.0%     +0.0%     +0.0%     +0.0%     +0.0%
       typecheck          -0.0%     +0.0%     -0.7%     -0.7%     +0.0%
            wang          +0.0%     +0.0%     -1.1%     -1.1%     +0.0%
       wave4main          +0.0%     +0.0%     +0.0%     +0.0%     +0.0%
    wheel-sieve1          +0.0%     +0.0%     +0.0%     +0.0%     +0.0%
    wheel-sieve2          +0.0%     +0.0%     -3.3%     -4.1%     +0.0%
 --------------------------------------------------------------------------------
             Min          -0.0%     -0.2%     -3.3%     -4.1%    -19.3%
             Max          +0.0%     +0.0%     +1.7%     +2.5%     +0.9%
  Geometric Mean          -0.0%     -0.0%     -0.4%     -0.3%     -0.2%
 }}}

 I’m still a bit surprised that allocations do not change – but at least
 they change for `fluid`, so maybe I am not measuring noise after all :-)

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8655#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list