title: Visual C++ 2008: Finding the cause of slow link times
body: <p>I have a legacy C++ project that takes an annoyingly long time to build (several minutes, even for small incremental changes), and I found most of the time was spent linking.</p>
  
  <p>The project is already using precompiled headers and incremental compilation.
  I have enabled the "/time" command line parameter in the hope I would get more details about what is slowing the linker, and got the following output:</p>
  
  <pre><code>1&gt;Linking...
  1&gt;  MD Merge: Total time = 59.938s
  1&gt;  Generate Transitions: Total time = 0.500s
  1&gt;  MD Finalize: Total time = 7.328s
  1&gt;Pass 1: Interval #1, time = 71.718s
  1&gt;Pass 2: Interval #2, time = 8.969s
  1&gt;Final: Total time = 80.687s
  1&gt;Final: Total time = 80.953s
  </code></pre>
  
  <p>Is there a way to get more details about each of these steps? 
  For example, I would like to find if they are spending most time linking to a specific .lib or .obj file.</p>
  
  <p>Also, is there any documentation that explains what each of these steps do?</p>