a better workflow?

Jan Stolarek jan.stolarek at p.lodz.pl
Tue Jul 23 13:25:43 UTC 2019


Hi Richard,

I think it's been around two years since I last built GHC, but back in the days I could get a full 
build time around 17 minutes on my laptop. Not sure how much the build times have increased since 
then but I suspect you should be able to build GHC faster than in 45 minutes. The trick I used 
wasn't really much of a trick, it was simply about having good hardware: an SSD drive, a good CPU 
(I have Xeon), and lots of RAM. And then I had:

1. several separate source trees. This means being able to work on your own stuff in one source 
tree and being able to review MRs in another without a need to do a full rebuild when you want to 
switch between the two (or more). Downside of this setup was when you wanted to bootstrap from 
different GHC versions in different source trees, but with enough scripting this is definitely 
doable.

2. build trees separated from the source trees. If I really wanted to squeeze max performance I 
would map the build tree onto a ramdisk - that's why you want lots of RAM. It definitely made the 
build faster but I can't recall how much it improved the testsuite runs. The downside of course 
is that you lose the build when you switch off your machine, so I simply wouldn't switch off 
mine, only suspend it to RAM.

Janek

PS. A friend of mine recently told me that his company was considering using AWS but after 
calculating the costs it turned out that buying and maintaining their own servers will be 
cheaper.
 

--- 
Politechnika Łódzka 
Lodz University of Technology 

Treść tej wiadomości zawiera informacje przeznaczone tylko dla adresata. 
Jeżeli nie jesteście Państwo jej adresatem, bądź otrzymaliście ją przez pomyłkę 
prosimy o powiadomienie o tym nadawcy oraz trwałe jej usunięcie. 

This email contains information intended solely for the use of the individual to whom it is addressed. 
If you are not the intended recipient or if you have received this message in error, 
please notify the sender and delete it from your system. 




More information about the ghc-devs mailing list