[GHC] #11196: TypeInType performance regressions

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.2 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- This ticket is to track the handful of performance regressions seen with the addition of `TypeInType`. It is quite possibly a good idea to break these out into separate tickets, but until we investigate, they're all bundled here. The regressions are: * T3064, bytes allocated up by 14.9% (will update description) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.11 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: | -------------------------------------+------------------------------------- Changes (by goldfire): * priority: normal => highest * version: 7.10.2 => 7.11 * milestone: => 8.0.1 Old description:
This ticket is to track the handful of performance regressions seen with the addition of `TypeInType`. It is quite possibly a good idea to break these out into separate tickets, but until we investigate, they're all bundled here.
The regressions are: * T3064, bytes allocated up by 14.9%
(will update description)
New description: This ticket is to track the handful of performance regressions seen with the addition of `TypeInType`. It is quite possibly a good idea to break these out into separate tickets, but until we investigate, they're all bundled here. The regressions are: * T3064, bytes allocated up by 14.9% * T5030, up by 61.8% * T5837, up by 13% * T5321Fun, up by 11% * T5631, up by 39% * T9872d, '''down''' by 91.8% (see below) * T9872a, up by 33.6% * T9872c, up by 59.4% * T9872b, up by 49.4% * T9675, up by 29.7%, and peak megabytes allocated up by 28.4% * haddock.base, up by 12.4% * haddock.Cabal, up by 9.5% I did add an optimization around type family reduction (the function `zonk_eq_types` in !TcCanonical) that could cause such a drastic reduction. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.11 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: | -------------------------------------+------------------------------------- Description changed by goldfire: Old description:
This ticket is to track the handful of performance regressions seen with the addition of `TypeInType`. It is quite possibly a good idea to break these out into separate tickets, but until we investigate, they're all bundled here.
The regressions are: * T3064, bytes allocated up by 14.9% * T5030, up by 61.8% * T5837, up by 13% * T5321Fun, up by 11% * T5631, up by 39% * T9872d, '''down''' by 91.8% (see below) * T9872a, up by 33.6% * T9872c, up by 59.4% * T9872b, up by 49.4% * T9675, up by 29.7%, and peak megabytes allocated up by 28.4% * haddock.base, up by 12.4% * haddock.Cabal, up by 9.5%
I did add an optimization around type family reduction (the function `zonk_eq_types` in !TcCanonical) that could cause such a drastic reduction.
New description: This ticket is to track the handful of performance regressions seen with the addition of `TypeInType`. It is quite possibly a good idea to break these out into separate tickets, but until we investigate, they're all bundled here. The regressions are (all in bytes allocated, unless otherwise noted): * T3064, up by 14.9% * T5030, up by 61.8% * T5837, up by 13% * T5321Fun, up by 11% * T5631, up by 39% * T9872d, '''down''' by 91.8% (see below) * T9872a, up by 33.6% * T9872c, up by 59.4% * T9872b, up by 49.4% * T9675, up by 29.7%, and peak megabytes allocated up by 28.4% * haddock.base, up by 12.4% * haddock.Cabal, up by 9.5% I did add an optimization around type family reduction (the function `zonk_eq_types` in !TcCanonical) that could cause such a drastic reduction. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions
-------------------------------------+-------------------------------------
Reporter: goldfire | Owner:
Type: bug | Status: new
Priority: highest | Milestone: 8.0.1
Component: Compiler | Version: 7.11
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 Richard Eisenberg

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.11 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 thomie): Also: {{{ buildtime/make 1222 + 13.67% 1389 seconds }}} Source: https://perf.haskell.org/ghc/#revision/b5d5d83122c93c2a25839127edfd6b2df7ed6... (if that link doesn't include the commit "Add kind equalities to GHC.", try https://perf.haskell.org/ghc/#revision/6746549772c5cc0ac66c0fce562f297f4d4b8...). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by simonpj): * keywords: => TypeInType -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: goldfire Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * owner: => goldfire -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: goldfire Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType 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 simonpj): Richard, this is marked as "highest" priority for 8.0.1 Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: goldfire Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType 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 goldfire): Understood. Right now, I'm mired in the substantial refactor posted in Phab:D1777 (which you believe will also fix "highest" priority #11397). I could perhaps get to this later this week. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: highest | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by goldfire): * owner: goldfire => Comment: I'm afraid I have to declare defeat against this ticket. :( I've spent the better part of the last few days trying to understand what's going on here, but failed utterly. I simply cannot find the source of the slowdown. It just seems like ''everything'' is doing more allocation, making it rather hard to find a culprit. I tried putting SCCs on low-level functions, too, but to no avail. The one moment of glory was finding that `tcMatchTys` was taking up 25% of the allocations on T9872c. I identified that the cause was a check to make sure that we don't match with a local, forall-bound variable. Of course, local forall-bound variables are rare, so I optimized the check by seeing if there are any forall-bound variables. This led to a whopping improvement of 20%! But then, inexplicably, when I turn off profiling, the exact same optimization led to no improvement. My tinkering led to a few tiny optimizations, leading to 5% reduction in two test cases. This is a small victory, but doesn't really undo the sting of defeat. (Optimizations to land in the next day or so.) My best guess is that the extra variables due to runtime polymorphism are what's gumming up the works. Previously, every binder without a type signature (including all local ones) were given a type `alpha :: OpenKind`. Now, every binder is given `alpha :: TYPE rho`; two metavariables where there was once one. And even when the type is solved, the kind now takes up more space than it did previously. But I have no data to back this up. I'm very happy to advise someone who wants to take this on. As usual with performance problems, the devil is in the data collecting and pinpointing -- the fix (if there is one) is usually quite easy. But I'm sad to say that I'm formally giving up on this one. I have simply timed out if I am to graduate. I will say that I don't believe this ticket needs to be a release blocker. * T5631 still is worse by 30% in bytes allocated. This is a happy- generated file with lots of mutually-recursive functions with no type signatures, exactly the pathological case for representation polymorphism. I doubt we can bring this one back to 7.10 levels. * T5837 is off from before `TypeInType`. But it's still better than 7.10 was! * T9675 has regressed in peak memory usage, but not allocations. This one doesn't seem to be representation polymorphism. But I couldn't nail it. * T9872 is an utter abuse of type families and looks nothing like a typical Haskell program. And those are the only cases that are worse than before `TypeInType`. Work between when this ticket was posted and now cleared up the others. I'll leave it to someone else to agree with me that this needn't be a release blocker before changing the priority. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: high | Milestone: 8.0.2 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * priority: highest => high * milestone: 8.0.1 => 8.0.2 Comment: Alright, the reasons cited here seem reasonable. Demoting to high. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: high | Milestone: 8.0.2 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType 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 goldfire): I just thought of a way to make forward progress on here: I still have the very long and very tortuous commit history of my development of `TypeInType`. (It's at [https://github.com/goldfirere/ghc/tree/nokinds the nokinds branch of my github fork].) Someone (including perhaps a future me) could just bisect. This would be complicated by the fact that many commits in there do not compile. But git's bisect mechanism has a way of dealing with that (`git bisect skip`). So this process would be quite long, but it also seems quite likely to lead to a solution. Unlike my previous attempts. If anyone has written a script for use with `git bisect run` that might aid in this process, do post! -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: high | Milestone: 8.0.2 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType 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 bgamari): I hacked together WorkingConventions/Bisection many months ago while trying to track down #11528 (IIRC). It worked reasonably well, although these things are always bit fiddly. In your case things are a bit trickier still as you don't quite have a nice thumbs-up or thumbs-down result; really you want to be able to look at testsuite allocations and plot them over time. I recently been working on tools for this, although it requires input in the form produced by nomeata's [[https://github.com/nomeata/ghc- speed-logs|ghc-speed builder]] -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions
-------------------------------------+-------------------------------------
Reporter: goldfire | Owner:
Type: bug | Status: new
Priority: high | Milestone: 8.0.2
Component: Compiler | Version: 7.11
Resolution: | Keywords: TypeInType
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 Richard Eisenberg

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: high | Milestone: 8.0.2 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType 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 goldfire): I had a thought while falling asleep last night about what may be causing all of this. Previously, `Type` had a constructor `FunTy :: Type -> Type -> Type`. Now, the situation is more complex, with a `TyBinder`: {{{#!hs data Type = ... | ForAllTy TyBinder Type | ... data TyBinder = Named TyVar VisibilityFlag | Anon Type }}} What was `FunTy arg res` is now `ForAllTy (Anon arg) res`. But this refactoring means that we have an extra box for ''every'' function type. And there are a lot of those. Chasing all of these boxes might mean that everything goes just a bit slower... which is exactly what I've observed. This refactoring was not forced by `TypeInType`, but Simon and I thought it to be a good idea. It does simplify things in a bunch of places. It could be undone -- somewhat labor-intensive, but not theoretically hard. Even better would be to have unboxed and unpacked sums, which would allow GHC to inline `TyBinder` into `Type`. It also might be possible to simulate unboxed and unpacked sums through something like this: {{{#!hs data Type = ... | ForAllTyNamed TyVar VisibilityFlag Type | ForAllTyAnon Type Type | ... repSplitForAllTy :: Type -> Maybe (TyBinder, Type) repSplitForAllTy (ForAllTyNamed tv vis ty) = Just (Named tv vis, ty) repSplitForAllTy (ForAllTyAnon arg res) = Just (Anon arg, res) repSplitForAllTy _ = Nothing pattern ForAllTy :: TyBinder -> Type -> Type pattern ForAllTy bndr ty <- (repSplitForAllTy -> Just (bndr, ty)) where ForAllTy (Named tv vis) ty = ForAllTyNamed tv vis ty ForAllTy (Anon arg) res = ForAllTyAnon arg res }}} With these definitions, it would seem you could use `ForAllTy` just as it is done now. And my guess is that matching against, say `(ForAllTy (Anon arg) res) -> ...`, as is done somewhat frequently, would induce GHC to inline all of the splitting and matching (and allocation of the very- temporary `TyBinder`). That would need to be tested. But perhaps this is the answer to our woes. If it's performant, this would also be a good recipe to disseminate to people clamoring for unboxed, unpackable sums. With the forthcoming support for pattern synonyms in TH (not for 8.0! but likely for 8.2), this might even be possible to automate and implement unpacked sums in TH until GHC can support them for real. I won't be testing this anytime soon, sadly. Perhaps someone else can in time for 8.0. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:14 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

With the forthcoming support for pattern synonyms in TH (not for 8.0! but likely for 8.2) Given how quickly osa1 seems to be moving on unboxed sums it's entirely
#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: high | Milestone: 8.0.2 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType 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 bgamari): possible that we will have proper unpacking by 8.2 (at least I have my fingers crossed). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:15 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: high | Milestone: 8.0.2 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by thomie): * failure: None/Unknown => Compile-time performance bug @@ -12,1 +12,1 @@ - * T9872d, '''down''' by 91.8% (see below) + * T9872d, '''down''' by 22% (see below) New description: This ticket is to track the handful of performance regressions seen with the addition of `TypeInType`. It is quite possibly a good idea to break these out into separate tickets, but until we investigate, they're all bundled here. The regressions are (all in bytes allocated, unless otherwise noted): * T3064, up by 14.9% * T5030, up by 61.8% * T5837, up by 13% * T5321Fun, up by 11% * T5631, up by 39% * T9872d, '''down''' by 22% (see below) * T9872a, up by 33.6% * T9872c, up by 59.4% * T9872b, up by 49.4% * T9675, up by 29.7%, and peak megabytes allocated up by 28.4% * haddock.base, up by 12.4% * haddock.Cabal, up by 9.5% I did add an optimization around type family reduction (the function `zonk_eq_types` in !TcCanonical) that could cause such a drastic reduction. -- Comment: For the record: T9872d went down by 22% (the description first claimed 92%, which probably resulted from a typo), from 726679784 to 566134504 bytes allocated. Since then it has dropped another 8% to 506691240 (64-bit). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:16 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: high | Milestone: 8.0.2 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): For the record, `FunTy` was reintroduced by 77bb09270c70455bbd547470c4e995707d19f37d. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:17 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: high | Milestone: 8.2.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * milestone: 8.0.2 => 8.2.1 Comment: Bumping off to 8.2. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:18 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.4.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * milestone: 8.2.1 => 8.4.1 Comment: It seems unlikely that anything will happen on this for 8.2. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:19 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.4.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by dfeuer): Has anyone checked whether 77bb09270c70455bbd547470c4e995707d19f37d had an impact here? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:20 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11196: TypeInType performance regressions -------------------------------------+------------------------------------- Reporter: goldfire | Owner: (none) Type: bug | Status: new Priority: high | Milestone: 8.4.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): I have not. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11196#comment:21 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC