Is anything being done to remedy the soul crushing compile times of GHC?
Simon Peyton Jones
simonpj at microsoft.com
Tue Feb 16 13:49:27 UTC 2016
| There is currently an interesting discussion on Reddit on GHC compile times
Crikey. That's a long and rather discouraging thread. (It comes as a bit of a surprise to me: I don't have much problem myself with GHC, which is by any standards a big project; but clearly others do.)
I hate hearing people feeling so unhappy with GHC. And yet, and yet -- I don't feel able to just down-tools on everything else and work on perf. And that is true for many, I think. It's a tragedy-of-the-commons problem.
What to do? Some thoughts.
* GHC itself may or may not be the main culprit. There seems to be some
muttering about Cabal.
* We have had various attempts to appoint a Performance Tsar, but all have
come to nothing.
* We discussed it in our weekly GHC Skype chat yesterday. One thing that
would really help is to make it laughably easy to track
- Micro: whether my commit made anything significantly worse
(compile time/allocs, run time/allocs, binary size)
- Macro: how HEAD is doing relative to the previous release
Our current tools are weak, and make it too hard.
- We need a small number of aggregated numbers,
not hundreds of numbers. (You might want the hundreds
when digging into the details.)
- We should include nofib, not just tests/perf
- Our current perf tests only complain when you go outside
a window, but 90% of the lossage might have been from other
patches, which demotivates dealing with it
- We don’t have any tools that show what time/alloc gets spent
in which pass.
* You would think that perf improvements would be something
lots of people would like to work on: EVERYONE will love you.
But in fact no one does.
Increase incentives: maybe out tooling could generate a
leader-board showing who is responsible for what total perf
improvement, so that glory gets properly allocated.
Paying for it. Austin found companies who are nearly at the
point of hiring someone to work on perf. Maybe a collection
of companies could together pay Well Typed for a GHC perf
engineer, who focused on nothing else. That would be amazing.
Any other ideas?
Simon
| -----Original Message-----
| From: Manuel M T Chakravarty [mailto:chak at justtesting.org]
| Sent: 14 February 2016 23:14
| To: GHC developers <ghc-devs at haskell.org>
| Cc: Simon Peyton Jones <simonpj at microsoft.com>; Simon Marlow
| <marlowsd at gmail.com>
| Subject: Fwd: Is anything being done to remedy the soul crushing compile
| times of GHC?
|
| There is currently an interesting discussion on Reddit on GHC compile times
|
|
| https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2fwww.reddit.c
| om%2fr%2fhaskell%2fcomments%2f45q90s%2fis_anything_being_done_to_remedy_the_s
| oul%2f&data=01%7c01%7csimonpj%40064d.mgd.microsoft.com%7c01d58fefbba44e5cb27e
| 08d33594990e%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=Xqnm6BreVSdpGJgP9oA
| L%2bMkC1QjRPYko%2f18iliKW8vk%3d
|
| I feel that this is a serious problem; so, it probably ought to be discussed
| here as well.
|
| Manuel
More information about the ghc-devs
mailing list