On Sat, May 13, 2006 at 08:59:01AM +0300, Dmitry Pryanishnikov wrote: > > Hello! > > On Fri, 12 May 2006, Kris Kennaway wrote: > >>>>>> %Sys %Intr %Idl > >>>>>>RELENG_6 + rl0 45 40 15 > >>>>>>RELENG_6 + fxp0 45 35 20 > >>> > >>>> %Sys %Intr %Idl "time md5 -t" wall clock time > >>>>RELENG_6 + rl0 34 24 42 1:43 > >>>>RELENG_6 + fxp0 30 20 50 1:40 > >> > >>is caused by just these: > >> > >>options INVARIANTS > >>options INVARIANT_SUPPORT > > > >So what is the overall status? I am not clear what your results are. > > Results for RELENG_6+rl0 are > > %Sys %Intr %Idl > 34 24 42 > > without INVARIANTS, and > > %Sys %Intr %Idl > 45 40 15 > > with them. Other options like QUOTA and "makeoptions > CONF_CFLAGS=-fno-builtin" make almost no difference. So, under my test > conditions, the best % of idle CPU time under RELENG_6 is 42%, while under > RELENG_4 we had > > %Sys %Intr %Idl > 14 14 72 > > under the same conditions (and with INVARIANTS!) ;(
OK, thanks. In order to understand the differences you will need to proceed to detailed profiling traces as I previously mentioned. With respect to INVARIANTS, you just need to get used to the fact that running thousands of checks for bugs is incompatible with running at optimal speed. The effect is cumulative over time: as more checks are added (and since they are essentially never removed), checks that are individually very cheap become collectively quite expensive. It is not feasible to only enable the subset of the thousands of checks that are going to find the most bugs. Kris
pgpCgi8UJ7IFz.pgp
Description: PGP signature