no-change link times of the big shared library at work are down from 8s to ~4s. pretty neat.
the rest of the time is due to ghc and cabal, where cabal contributes a disproportionate amount (imo), since, out of the 25s, only 18s is spent in ghc. this data was acquired by the dirtiest hacks possible so i wouldn't put too much faith in it.
due to cabal containing either bugs or documentation issues, you have to specify the -pgml=clang and -optl-fuse-ld=mold flags in ghc-shared-options since cabal does not pass ghc-options in the link stage for library shared objects (bug?). for some reason, ld-options do not get passed there (???).
really would like cabal to give me timing data. ghc-specter gets data out of ghc, so that side is relatively well covered at least.