title: Interpreting MSBuild Performance Summary Output
body: <p>I am trying to understand some performance summary output from MSBuild.  The results look like this:</p>
  
  <pre><code>Target Performance Summary:
          0 ms  PrepareForRun                             74 calls
          0 ms  Compile                                   74 calls
          ...
          ...
          ...
          ...
      15173 ms  ResolveProjectReferences                  74 calls
      29607 ms  Build                                     75 calls
  
  Task Performance Summary:
          2 ms  CreateCSharpManifestResourceName           6 calls
          2 ms  ResolveKeySource                           1 calls
      ...
      ...
      ...
      ...
       3623 ms  Copy                                     511 calls
       7468 ms  ResolveAssemblyReference                  74 calls
      11234 ms  Exec                                      12 calls
      48600 ms  MSBuild                                  210 calls
  
  Build succeeded.
      0 Warning(s)
      0 Error(s)
  
  Time Elapsed 00:00:29.60
  </code></pre>
  
  <p>Why does the total time for MSBuild exceed the total elapsed time?  The actual stopwatch time to run this build was, in fact, ~29 seconds.  Any examples of these summaries that I see online show that the total Task and Target times are same.</p>