[GHC] #13744: Compile-time regression in 8.2 when compiling bloodhound's test suite
GHC
ghc-devs at haskell.org
Mon May 22 19:22:21 UTC 2017
#13744: Compile-time regression in 8.2 when compiling bloodhound's test suite
-------------------------------------+-------------------------------------
Reporter: refold | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.1-rc2
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): | Wiki Page:
-------------------------------------+-------------------------------------
GHC 8.2 takes much longer to compile bloodhound's test suite than GHC
8.0.2. With 8.0.2, compilation takes approximately a minute on my machine,
8.2 takes approximately four minutes and uses much more memory.
How to reproduce:
{{{
$ git clone -b ghc-8.2 https://github.com/23Skidoo/bloodhound.git
$ cd bloodhound
$ cabal new-build -w ghc-8.0.1 --enable-tests
$ cabal new-build -w ghc-8.2.1 --enable-tests
}}}
GHC version:
{{{
$ ghc-8.2.1 --version
The Glorious Glasgow Haskell Compilation System, version 8.2.0.20170505
}}}
These warnings (fixed in my `ghc-8.2` branch of `bloodhound`) may provide
a clue to what's happening:
{{{
tests/V1/tests.hs:1876:17: warning: [-Wsimplifiable-class-constraints]
• The constraint ‘SOP.All SOP.SListI (SOP.GCode a)’
matches an instance declaration
instance forall k (f :: k -> Constraint) (xs :: [k]).
(Generics.SOP.Constraint.AllF f xs, SOP.SListI xs) =>
SOP.All f xs
-- Defined in ‘Generics.SOP.Constraint’
This makes type inference for inner bindings fragile;
either use MonoLocalBinds, or simplify it using the instance
• In the type signature:
sopArbitrary :: forall a.
(Generic a,
SOP.GTo a,
SOP.All SOP.SListI (SOP.GCode a),
SOP.All2 Arbitrary (SOP.GCode a)) =>
Gen a
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13744>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list