Rebuild all the things (worse case scenario):
[ReallyBigProject](master)$ find client/elm -type f -exec touch {} +
[ReallyBigProject](master)$ elm-make +RTS -N4 -s -RTS client/elm/Main.elm --output $(mktemp --suffix .js)
Here's the output (with some overhead from profiling stuff in the build):
Success! Compiled 178 modules.
Successfully generated /tmp/tmp.0IC3OWwvKJ.js
236,074,687,328 bytes allocated in the heap
140,887,847,776 bytes copied during GC
476,849,904 bytes maximum residency (402 sample(s))
5,945,608 bytes maximum slop
1292 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause
Gen 0 449628 colls, 449628 par 453.719s 113.490s 0.0003s 0.0278s
Gen 1 402 colls, 401 par 144.609s 24.731s 0.0615s 0.3519s
Parallel GC work balance: 7.92% (serial 0%, perfect 100%)
TASKS: 18 (1 bound, 17 peak workers (17 total), using -N8)
SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled)
INIT time 0.000s ( 0.003s elapsed)
MUT time 218.719s (166.916s elapsed)
GC time 598.328s (138.221s elapsed)
RP time 0.000s ( 0.000s elapsed)
PROF time 0.000s ( 0.000s elapsed)
EXIT time 0.016s ( 0.096s elapsed)
Total time 817.062s (305.237s elapsed)
Alloc rate 1,079,352,763 bytes per MUT second
Productivity 26.8% of total user, 71.7% of total elapsed
gc_alloc_block_sync: 18741417
whitehole_spin: 0
gen[0].sync: 27
gen[1].sync: 8823794