[v3] multi-pch

Joe Buck Joe.Buck@synopsys.COM
Thu Jun 29 00:40:00 GMT 2006


On Wed, Jun 28, 2006 at 07:20:37PM -0500, Benjamin Kosnik wrote:
> 
> Here's some testsuite timings with various PCH configurations.
> 
> g++-version 20060625
> 
> -include bits/stdc++.h
> 1467.587u 200.580s 29:09.03 95.3%       0+0k 0+0io 0pf+0w
> 1493.265u 199.392s 28:53.54 97.6%       0+0k 0+0io 0pf+0w
> 
> -include bits/stdtr1c++.h
> 1360.873u 214.129s 26:38.08 98.5%       0+0k 0+0io 0pf+0w
> 1363.005u 212.405s 26:32.25 98.9%       0+0k 0+0io 0pf+0w
> 
> -include bits/extc++.h
> 1407.479u 233.518s 28:23.50 96.3%       0+0k 0+0io 0pf+0w
> 1400.851u 233.798s 27:30.87 99.0%       0+0k 0+0io 0pf+0w
> 
> Where
> stdc++
> stdc++ + tr1 = stdtr1c++
> stdc++ + tr1 + ext = extc++
> 
> aka, "the bigger blob" design. See attached patch. 
> 
> From this, it seems as if moving to std + TR1 as the PCH of choice
> provides real benefits, but precompiling every interface (ie std + TR1
> + ext) does not.

That conclusion applies if you're interested in making the testsuite
run fast.  However, if you have a large program that uses ext but not TR1,
extc++ will win, and if you have a large program uses neither TR1 nor
ext, stdc++ will win.



More information about the Libstdc++ mailing list