
#14052: Significant GHCi speed regression with :module and `let` in GHC 8.2.1 -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.4.1 Component: GHCi | Version: 8.2.1-rc2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by phadej): In GHC-8.2.1 and GHC-8.0.2 maximum residency is the same, but 8.2.1 makes GHC work hard. I don't have a profiled build at my hand right now to see what's is so much created there === GHC 8.2.1 {{{ *Foo> :q Leaving GHCi. 117,933,393,408 bytes allocated in the heap 8,146,416,328 bytes copied during GC 19,708,480 bytes maximum residency (254 sample(s)) 281,520 bytes maximum slop 50 MB total memory in use (0 MB lost due to fragmentation) Tot time (elapsed) Avg pause Max pause Gen 0 30416 colls, 0 par 14.994s 14.949s 0.0005s 0.0330s Gen 1 254 colls, 0 par 0.134s 0.137s 0.0005s 0.0033s TASKS: 5 (1 bound, 4 peak workers (4 total), using -N1) SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled) INIT time 0.002s ( 0.001s elapsed) MUT time 36.655s ( 39.458s elapsed) GC time 15.128s ( 15.085s elapsed) EXIT time 0.036s ( 0.046s elapsed) Total time 51.820s ( 54.591s elapsed) Alloc rate 3,217,432,136 bytes per MUT second Productivity 70.8% of total user, 72.4% of total elapsed }}} === GHC 8.0.2 {{{ *Foo> :q Leaving GHCi. 2,025,372,528 bytes allocated in the heap 67,188,040 bytes copied during GC 19,710,096 bytes maximum residency (8 sample(s)) 480,376 bytes maximum slop 44 MB total memory in use (0 MB lost due to fragmentation) Tot time (elapsed) Avg pause Max pause Gen 0 612 colls, 0 par 0.161s 0.160s 0.0003s 0.0023s Gen 1 8 colls, 0 par 0.149s 0.150s 0.0187s 0.0415s TASKS: 5 (1 bound, 4 peak workers (4 total), using -N1) SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled) INIT time 0.001s ( 0.001s elapsed) MUT time 3.144s ( 8.657s elapsed) GC time 0.310s ( 0.310s elapsed) EXIT time 0.042s ( 0.042s elapsed) Total time 3.546s ( 9.010s elapsed) }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14052#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler