Skip to content

The flattener is very slow

The flattener (part of the constraint solver) can be very slow. Tests perf/compiler/T9872a and b,c,d, demonstrate this.

A lot of time is spent in GHC.Tc.Solver.Flatten.flatten_args_slow, and thence in GHC.Core.Coercion.simplifyArgsWorker. I think the latter is where all the time is spent.

This ticket is just to remind us of the problem, and provide us a place to discuss solutions.

Edited by Simon Peyton Jones
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information