From owner-freebsd-current Thu Apr 18 08:25:51 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id IAA10887 for current-outgoing; Thu, 18 Apr 1996 08:25:51 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id IAA10878 for ; Thu, 18 Apr 1996 08:25:43 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.12/8.6.9) id BAA00627 for current@freebsd.org; Fri, 19 Apr 1996 01:25:09 +1000 Date: Fri, 19 Apr 1996 01:25:09 +1000 From: Bruce Evans Message-Id: <199604181525.BAA00627@godzilla.zeta.org.au> To: current@freebsd.org Subject: #include bloat Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Long ago, I introduced the #include of in to make all the machine-dependent inline functions visible without changing many files. The list of inlines has now grown so large that compiling them now takes about 10% of the kernel build time: Times to build a -current GENERIC from a freshly configured directory immediately after booting: 485.41 real 380.97 user 27.83 sys Times to do the same thing with all the inlines in cpufunc.h replaced by prototypes: 446.99 real 346.64 user 26.44 sys Times to build GENERICBT in 1.1.5 (on the same hardware with the same compiler, but on a different file system and not immediately after booting): 213.92 real 163.58 user 16.50 sys I guess that it would take 150-180 seconds on the same hardware under 1.1.5, mainly because gcc was faster. Sigh. I think only about 50% of the extra time is justified by features. Bruce