Hadrian's no-op builds are too slow
Currently a no-op build in Hadrian takes over 10 seconds. This is just too long and breaks flow. We'll need to do some profiling to work out why it's so slow
$ hadrian/build-cabal -j9 --freeze1 +RTS -s
Up to date
shakeArgsWith 0.000s 0%
Function shake 0.005s 0%
Database read 0.806s 7% =
With database 0.050s 0%
Running rules 10.427s 92% =========================
Pool finished (4736 threads, 9 max) 0.003s 0%
Cleanup 0.000s 0%
Total 11.291s 100%
Build completed in 11.29s
11,476,621,240 bytes allocated in the heap
1,567,958,232 bytes copied during GC
288,505,080 bytes maximum residency (13 sample(s))
3,859,208 bytes maximum slop
275 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause
Gen 0 3608 colls, 0 par 1.765s 1.759s 0.0005s 0.0033s
Gen 1 13 colls, 0 par 0.658s 0.657s 0.0505s 0.1761s
TASKS: 29 (1 bound, 28 peak workers (28 total), using -N9)
SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)
INIT time 0.000s ( 0.000s elapsed)
MUT time 18.328s ( 8.894s elapsed)
GC time 2.423s ( 2.416s elapsed)
EXIT time 0.002s ( 0.009s elapsed)
Total time 20.753s ( 11.320s elapsed)
Alloc rate 626,164,097 bytes per MUT second
Productivity 88.3% of total user, 78.6% of total elapsed