[GHC] #10800: vector-0.11
GHC
ghc-devs at haskell.org
Thu Aug 27 13:48:29 UTC 2015
#10800: vector-0.11
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner: bgamari
Type: bug | Status: new
Priority: normal | Milestone: 7.12.1
Component: Compiler | Version: 7.10.2
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Compile-time
Unknown/Multiple | performance bug
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Revisions: |
-------------------------------------+-------------------------------------
vector-0.11 takes substantially longer to compile with 7.10 than 7.8
Unfortunately the issue appears to be in generated code.
Lacking time right now so I'm just going to drop the IRC log here,
Compile log: https://travis-ci.org/haskell/vector/builds/56179052
{{{
* hvr thought some compile-time improvements landed in 7.10.2
<dolio> I don't think it uses sufficiently less memory to prevent it from
using all memory on travis and failing.
<dolio> Which is why it suddenly went from 8 minutes to 35.
<dolio> Although it's also significantly worse even when you have enough
memory.
<dolio> hvr: 7.8.4 takes 4m40s, 7.10.2 takes 16m40s.
<dolio> i7 4770, 32GB RAM.
<dolio> vector 0.11 branch.
<dolio> It's not as bad in the 0.10 branch.
<dolio> It uses like 60% more memory, too.
<dolio> Maybe more.
<dolio> It's really just one or two files in the test suite that take all
the time/memory.
<hvr> dolio: does vector do some aggressive INLINEing?
<dolio> Well, yes.
<hvr> more in 0.11 than in 0.10?
<dolio> It does more stuff in 0.11, yes.
<bgamari> vector 0.11 has this new chunked streaming abstraction IIRC
<hvr> there's a generic one though iirc
<dolio> 0.11 introduced the generalized stream fusion, so there's like
three different things going on that specialization has to select one of.
<dolio> Instead of just one thing like in 0.10.
<dolio> Anyhow, the problem file(s) generate a bunch of tests using
template Haskell, so they're pretty opaque.
<dolio> I'm pretty sure it's the generated code that's the problem,
though.
<dolio> Not the template haskell that generates it.
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10800>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list