[GHC] #15164: Slowdown in ghc compile times from GHC 8.0.2 to GHC 8.2.1 when doing Called arity analysis
GHC
ghc-devs at haskell.org
Tue May 22 16:50:30 UTC 2018
#15164: Slowdown in ghc compile times from GHC 8.0.2 to GHC 8.2.1 when doing Called
arity analysis
-------------------------------------+-------------------------------------
Reporter: flip101 | Owner: (none)
Type: bug | Status: new
Priority: highest | Milestone: 8.6.1
Component: Compiler | Version: 8.2.1
Resolution: | Keywords:
Operating System: Linux | Architecture: x86_64
| (amd64)
Type of failure: Compile-time | Test Case:
performance bug | perf/compiler/T15164
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Joachim Breitner <mail@…>):
In [changeset:"db6085b84139f4454cebf34f887cb5560a4fbc7b/ghc"
db6085b8/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="db6085b84139f4454cebf34f887cb5560a4fbc7b"
Improve performance of CallArity
the hot path contained a call to
v `elemUnVarSet` (neighbors g v)
and creating the set of neighbors just to check if `v` is inside
accounted for half the allocations of the test case of #15164.
By introducing a non-allocating function `hasLoopAt` for this we shave
off half the allocations. This brings the total cost of Call Arity down
to 20% of time and 23% of allocations, according to a profiled run. Not
amazing, but still much better.
Differential Revision: https://phabricator.haskell.org/D4718
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15164#comment:23>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list