[GHC] #6084: Add stg_ap_pnnv and related call patterns

GHC ghc-devs at haskell.org
Thu Nov 28 02:10:36 UTC 2013


#6084: Add stg_ap_pnnv and related call patterns
-------------------------------------+------------------------------------
        Reporter:  SimonMeier        |            Owner:  simonmar
            Type:  feature request   |           Status:  patch
        Priority:  high              |        Milestone:  7.8.1
       Component:  Runtime System    |          Version:  7.7
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:  8313              |  Related Tickets:
-------------------------------------+------------------------------------

Comment (by parcs):

 I updated the patch to accommodate `fun` with a temporary variable. Let me
 know what you think.

 This optimization only triggers four times inside the nofib testsuite:
 twice in `lift:Print.lhs` and twice in `n-body:Main.hs`. According to
 subsequent nofib runs, the runtime of these two programs is not affected
 by the optimization. Compile time doesn't seem to have been affected
 either. But, as mentioned before, the runtime of the program in #8313 is
 significantly improved: 0.75s vs 3.9s.

 I also uploaded a test for the testsuite. The test is essentially a
 modified version of the program in #8313 which checks that the program
 returns the expected result. But I'm not confident that this is the best
 way to go about testing this optimization. Do you have a better idea?

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


More information about the ghc-tickets mailing list