[GHC] #4012: Compilation results are not deterministic

GHC ghc-devs at haskell.org
Wed May 4 17:16:33 UTC 2016


#4012: Compilation results are not deterministic
-------------------------------------+-------------------------------------
        Reporter:  kili              |                Owner:  niteria
            Type:  bug               |               Status:  new
        Priority:  high              |            Milestone:  8.2.1
       Component:  Compiler          |              Version:  6.12.2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  Other             |            Test Case:
      Blocked By:  11362             |             Blocking:
 Related Tickets:  #10424            |  Differential Rev(s):  Phab:D910,
                                     |  Phab:D1073, Phab:D1133, Phab:D1192,
                                     |  Phab:D1268, Phab:D1360, Phab:D1373,
       Wiki Page:                    |  Phab:D1396, Phab:D1457, Phab:D1468,
  DeterministicBuilds                |  Phab:D1487, Phab:D1504, Phab:D1508
-------------------------------------+-------------------------------------

Comment (by Bartosz Nitka <niteria@…>):

 In [changeset:"ad4392c142696d5092533480a82ed65322e9d413/ghc" ad4392c/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="ad4392c142696d5092533480a82ed65322e9d413"
 Kill non-deterministic foldUFM in TrieMap and TcAppMap

 Summary:
 foldUFM introduces unnecessary non-determinism that actually
 leads to different generated code as explained in
 Note [TrieMap determinism].

 As we're switching from UniqFM to UniqDFM here you might be
 concerned about performance. There's nothing that ./validate
 detects. nofib reports no change in Compile Allocations, but
 Compile Time got better on some tests and worse on some,
 yielding this summary:

         -1 s.d.                -----            -3.8%
         +1 s.d.                -----            +5.4%
         Average                -----            +0.7%

 This is not a fair comparison as the order of Uniques
 changes what GHC is actually doing. One benefit from making
 this deterministic is also that it will make the
 performance results more stable.

 Full nofib results: P108

 Test Plan: ./validate, nofib

 Reviewers: goldfire, simonpj, simonmar, austin, bgamari

 Reviewed By: simonpj

 Subscribers: thomie

 Differential Revision: https://phabricator.haskell.org/D2169

 GHC Trac Issues: #4012
 }}}

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


More information about the ghc-tickets mailing list