
#12754: Adding an explicit export list halves compilation time. -------------------------------------+------------------------------------- Reporter: mpickering | Owner: mpickering Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): phab:D2657 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): Patch looks mostly good thanks! You did not address my remarks about the other uses of `nubAvails`:
So an alternative, perhaps better, would be to rewrite nubAvails to use code very like the above function, so that each Name in the [AvailInfo] takes linear time to add. That's be more robust I guess.
Finally, the other use of nubAvails is in RnNames.findImportUsage. I think extendImportMap could return a [GRE] as the second element of its result pair, instead of [AvailInfo], and then we could use gresToAvailInfo again; but this time we'd need to worry about duplicates.
Indeed you added a brand-new call to `nubAvails`! Couldn't we just apply the same medicine to `nubAvails`? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12754#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler