
#10289: compiling huge HashSet hogs memory -------------------------------------+------------------------------------- Reporter: zudov | Owner: Type: bug | Status: infoneeded Priority: normal | Milestone: Component: Compiler | Version: 7.10.1 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Runtime | (amd64) performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: new => infoneeded Comment: zudov, I'm having trouble reproducing this. With ghc 7.10.2, `unordered- containers-0.2.5.1`, and `text-1.2.1.3` I find the following, {{{ $ ghc -O EntitySet.hs -fforce-recomp -ddump-inlinings +RTS -s [1 of 1] Compiling Text.Html.Entity.Data.EntitySet ( EntitySet.hs, EntitySet.o ) Inlining done: Data.HashSet.fromList Inlining done: Data.HashMap.Base.empty Inlining done: Data.Text.pack Inlining done: GHC.Base.build Inlining done: Data.Text.pack Inlining done: GHC.Base.build ... # goes on for a few thousand lines Inlining done: Data.Text.pack Inlining done: GHC.Base.build Inlining done: GHC.Base.foldr Inlining done: GHC.Base.id 2,541,860,520 bytes allocated in the heap 412,058,088 bytes copied during GC 57,559,000 bytes maximum residency (11 sample(s)) 3,015,736 bytes maximum slop 140 MB total memory in use (0 MB lost due to fragmentation) Tot time (elapsed) Avg pause Max pause Gen 0 776 colls, 0 par 0.405s 0.406s 0.0005s 0.0141s Gen 1 11 colls, 0 par 0.261s 0.261s 0.0237s 0.0615s TASKS: 4 (1 bound, 3 peak workers (3 total), using -N1) SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled) INIT time 0.003s ( 0.003s elapsed) MUT time 1.533s ( 1.660s elapsed) GC time 0.666s ( 0.667s elapsed) EXIT time 0.018s ( 0.018s elapsed) Total time 2.232s ( 2.349s elapsed) Alloc rate 1,658,595,906 bytes per MUT second Productivity 70.0% of total user, 66.5% of total elapsed gc_alloc_block_sync: 0 whitehole_spin: 0 gen[0].sync: 0 gen[1].sync: 0 }}} The inlinings you are observing sounds quite reminiscent of #10528, which should be fixed with `text-1.2.1.3`. Could you test this? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10289#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler