
#12234: 'deriving Eq' on recursive datatype makes ghc eat a lot of CPU and RAM -------------------------------------+------------------------------------- Reporter: slyfox | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by osa1): Nice find. Here is some stats: {{{ =========================================Bug========================================= CodeGen 19976.00 ms 40880.83 mb 62.9% of total time Simplifier (7) 10302.00 ms 9418.43 mb 32.4% of total time CorePrep 762.00 ms 323.56 mb 2.4% of total time CoreTidy 469.00 ms 274.51 mb 1.5% of total time Common sub-expression 87.00 ms 60.19 mb 0.3% of total time Float inwards (2) 81.00 ms 51.34 mb 0.3% of total time Renamer/typechecker 47.00 ms 44.12 mb 0.1% of total time Demand analysis 21.00 ms 19.45 mb 0.1% of total time Worker Wrapper binds 3.00 ms 1.89 mb 0.0% of total time Parser 2.00 ms 0.50 mb 0.0% of total time Specialise 0.00 ms 0.23 mb 0.0% of total time Desugar 0.00 ms 0.65 mb 0.0% of total time Called arity analysis 0.00 ms 0.82 mb 0.0% of total time ------------------------------------------------------------------------------------- Total 31750.00 ms 51076.53 mb 100.0% of total time ======================Total====================== CodeGen 62.92% Simplifier 32.45% CorePrep 2.40% CoreTidy 1.48% Common sub-expression 0.27% Float inwards 0.26% Renamer/typechecker 0.15% Demand analysis 0.07% Worker Wrapper binds 0.01% Parser 0.01% Specialise 0.00% Desugar 0.00% Called arity analysis 0.00% }}} Simplifier is running 7 times! More interestingly, I wanted to have a look at Core and STG, and tried -ddump-simpl. It took about 5 minutes until I killed the process and realized that generated incomplete Core output is 664M already {{{ -rw-r--r-- 1 omer users 664M Jun 26 14:18 Bug1.dump-simpl }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12234#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler