I've made a quick-and-dirty performance measurement using almost all boost 1.51 headers. The test source file, script and execution logs are attached. Clang was built with gcc (hence log names).<div><br><div>TL;DR: changes 'caused by the patch: preprocessor memory usage 5.9M ->7.4M, total time: no measurable difference (both about 4.8s).</div>
<div><br></div><div>As for the test input, I consider it quite a heavy load on preprocessor:</div><div><br></div><div><div>*** Preprocessor Stats:</div><div>75165 directives found:</div><div>  19499 #define.</div><div>  4433 #undef.</div>
<div>  #include/#include_next/#import:</div><div>    5357 source files entered.</div><div>    27 max include stack depth</div><div>  19919 #if/#ifndef/#ifdef.</div><div>  2459 #else/#elif.</div><div>  7110 #endif.</div><div>
  426 #pragma.</div><div>14996 #if/#ifndef#ifdef regions skipped</div><div>82955/459701/1316 obj/fn/builtin macros expanded, 88278 on the fast path.</div><div>129361 token paste (##) operations performed, 11361 on the fast path.</div>
</div><div><br></div><div>Difference between execution logs:<div><br></div><div><div>diff clang-gcc-perf-before-patch.log clang-gcc-perf-with-patch.log </div><div>193,194c193,194</div><div>< Preprocessor Memory: 5940151B total</div>
<div><   BumpPtr: 4464640</div><div>---</div><div>> Preprocessor Memory: 7394231B total</div><div>>   BumpPtr: 5918720</div><div>229c229</div><div>< FileID scans: 205598 linear, 2102385 binary.</div><div>---</div>
<div>> FileID scans: 205604 linear, 2102345 binary.</div><div>239,241c239,241</div><div>< real<span class="Apple-tab-span" style="white-space:pre">       </span>0m4.872s</div><div>< user<span class="Apple-tab-span" style="white-space:pre">    </span>0m4.700s</div>
<div>< sys<span class="Apple-tab-span" style="white-space:pre">      </span>0m0.160s</div><div>---</div><div>> real<span class="Apple-tab-span" style="white-space:pre">  </span>0m4.796s</div><div>> user<span class="Apple-tab-span" style="white-space:pre">    </span>0m4.560s</div>
<div>> sys<span class="Apple-tab-span" style="white-space:pre">      </span>0m0.220s</div><div>434,435c434,435</div><div>< Preprocessor Memory: 5940151B total</div><div><   BumpPtr: 4464640</div><div>---</div><div>> Preprocessor Memory: 7394231B total</div>
<div>>   BumpPtr: 5918720</div><div>480,482c480,482</div><div>< real<span class="Apple-tab-span" style="white-space:pre"> </span>0m4.819s</div><div>< user<span class="Apple-tab-span" style="white-space:pre">    </span>0m4.620s</div>
<div>< sys<span class="Apple-tab-span" style="white-space:pre">      </span>0m0.180s</div><div>---</div><div>> real<span class="Apple-tab-span" style="white-space:pre">  </span>0m4.882s</div><div>> user<span class="Apple-tab-span" style="white-space:pre">    </span>0m4.730s</div>
<div>> sys<span class="Apple-tab-span" style="white-space:pre">      </span>0m0.140s</div><div>675,676c675,676</div><div>< Preprocessor Memory: 5940151B total</div><div><   BumpPtr: 4464640</div><div>---</div><div>> Preprocessor Memory: 7394231B total</div>
<div>>   BumpPtr: 5918720</div><div>711c711</div><div>< FileID scans: 205598 linear, 2102365 binary.</div><div>---</div><div>> FileID scans: 205604 linear, 2102385 binary.</div><div>721,723c721,723</div><div>< real<span class="Apple-tab-span" style="white-space:pre"> </span>0m4.794s</div>
<div>< user<span class="Apple-tab-span" style="white-space:pre">     </span>0m4.610s</div><div>< sys<span class="Apple-tab-span" style="white-space:pre">     </span>0m0.170s</div><div>---</div><div>> real<span class="Apple-tab-span" style="white-space:pre">  </span>0m4.789s</div>
<div>> user<span class="Apple-tab-span" style="white-space:pre">     </span>0m4.630s</div><div>> sys<span class="Apple-tab-span" style="white-space:pre">     </span>0m0.150s</div><div><br></div>-- <br>
<div>Regards,</div><div>Alex</div></div></div></div>