[GHC] #14637: Simplifier Ticks Exhausted when compiling with profiling
GHC
ghc-devs at haskell.org
Wed Jan 24 13:42:24 UTC 2018
#14637: Simplifier Ticks Exhausted when compiling with profiling
-------------------------------------+-------------------------------------
Reporter: cfhammill | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.2
Resolution: | Keywords:
Operating System: Linux | Architecture: x86_64
Type of failure: Compile-time | (amd64)
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
Thanks. I can repro this. For the record, changing `bug2.hs` to define
just
{{{
foo :: Rec Identity
'["policyID" :-> Int, "statecode" :-> String, "county" :->
String,
"eq_site_limit" :-> Double, "hu_site_limit" :-> Double,
"fl_site_limit" :-> Double, "fr_site_limit" :-> Double,
"tiv_2011" :-> Double, "tiv_2012" :-> Double,
"eq_site_deductible" :-> Bool, "hu_site_deductible" :->
Double,
"fl_site_deductible" :-> Bool, "fr_site_deductible" :->
Bool,
"point_latitude" :-> Double, "point_longitude" :->
Double,
"line" :-> String, "construction" :-> String,
"point_granularity" :-> Int, "statecode" :-> String,
"county" :-> String, "eq_site_limit" :-> Double,
"hu_site_limit" :-> Double, "fl_site_limit" :-> Double,
"fr_site_limit" :-> Double, "tiv_2011" :-> Double,
"tiv_2012" :-> Double, "eq_site_deductible" :-> Bool,
"hu_site_deductible" :-> Double, "fl_site_deductible" :->
Bool,
"fr_site_deductible" :-> Bool, "point_latitude" :->
Double,
"point_longitude" :-> Double, "line" :-> String,
"construction" :-> String, "point_granularity" :-> Int]
foo = mergeRows (undefined :: FL2) (undefined :: FL2)
}}}
without main or the (overloaded) `print`, is enough to make it go out to
lunch.
Moreover, this happens in the very first iteration of the simplifier.
I have not got further yet. Next steps: try with a smaller `FL2` and see
how the compile time (or, more precisely, simplifier ticks) goes non-
linear.
I say "simplifier tickes" because I would not have been suprised at non-
linearity in the type checker... we are manipulating sets as lists in the
type system. But I'm more surprised at non-linearity in the simplifier.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14637#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list