[asterisk-dev] build times (was Re: policy for managing headers)
Luigi Rizzo
rizzo at icir.org
Fri Nov 16 10:57:03 CST 2007
since there was some concern about aggregating common system headers
into asterisk/compat.h, i did a bit of measurement with the basic
files (stdio.h, stdlib.h, inttypes.h, string.h, stddef.h).
Results are below (all computed from a warm filesystem cache, i.e.
after doing a couple of times a full build followed by a 'gmake clean'):
trunk -O2 , unmodified
146.276u 11.120s 2:32.12 103.4% 4005+2454k 0+904io 3pf+0w
145.869u 11.529s 2:32.31 103.3% 4012+2455k 0+904io 2pf+0w
trunk -O2 with the above headers grouped in compat.h
146.001u 11.725s 2:32.90 103.1% 3999+2447k 0+928io 2pf+0w
145.970u 11.635s 2:32.64 103.2% 3988+2446k 0+970io 2pf+0w
146.259u 11.707s 2:32.97 103.2% 3988+2447k 0+962io 2pf+0w
so the difference is basically in the noise, i cannot even tell
which one is faster.
Measurement from a cold filesystem cache are difficult these days
with large memories, but i saw approx 10-15s more in the real time
the first time i built the code (but this included a configure pass).
What really made an impressive difference was the use of ccache:
after the first build (so that the cache is filled up) here is what you get:
15.480u 8.765s 0:25.26 95.9% 2557+1067k 5+1186io 85pf+0w
15.269u 8.975s 0:24.74 97.9% 2535+1062k 10+1249io 85pf+0w
14.520u 9.026s 0:24.28 96.9% 2519+1072k 2+1237io 85pf+0w
I think i will have a hard time reverting to not using ccache...
cheers
luigi
cheers
luigi
More information about the asterisk-dev
mailing list