title: How to use precompiled headers efficiently (using /Yc and Yu options)?
body: <p>We are using Visual Studio 2003 (VC71) for compilation.
  In order to reduce the compile time we changed the build script such that it generates the precompiled header (.pch) file for each CPP file.</p>
  
  <p>The option used in makefile:</p>
  
  <pre><code>/Yc"StdAfx.h"
  /Fp"StdAfx.pch"
  </code></pre>
  
  <p>With this the compile time for the target got reduced by 30%. But could anyone help me to understand how is it reducing the compiler time even when the pch file is getting generated every time for compilation of each CPP file.</p>
  
  <p>Also, is it the right approach? Should we use Yc and Yu combination ?
  I cannot use /Yu option as the pch file should be genrated at least once. </p>