Linking is slow for large programs if the output file is stored on a network disk (e.g. ClearCase). For a program of some tens of MB, linking takes several minutes. The CPU utilization is also very low during long periods of time. If the output is placed e.g. on /tmp, linking is several times faster. It is a bit hard to supply a good test case, however any large C++ program should give some insight. I have also run 'strace' on 'ld' and noticed a large number of _llseek() and write() calls for the output file. This dominates the number of system calls after a while, since the input files seem to be cached. Many writes also transfer a small amount of data.
I doubt anyone will ever do anything about this, sorry.