From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Two strange messages while building Emacs on MS-Windows Date: Wed, 12 Dec 2012 20:41:26 +0200 Message-ID: <836247865l.fsf@gnu.org> References: <83mwxpmtp6.fsf@gnu.org> <83fw3hm0nn.fsf@gnu.org> <83k3srdh3d.fsf@gnu.org> <838v96dgyd.fsf@gnu.org> <8338zecu4i.fsf@gnu.org> <83vcc9aa4a.fsf@gnu.org> <83sj7c8fkn.fsf@gnu.org> <83obi07wws.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1355337720 15822 80.91.229.3 (12 Dec 2012 18:42:00 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 12 Dec 2012 18:42:00 +0000 (UTC) Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org To: dmoncayo@gmail.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Dec 12 19:42:14 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TirFy-0001oC-0T for ged-emacs-devel@m.gmane.org; Wed, 12 Dec 2012 19:42:10 +0100 Original-Received: from localhost ([::1]:59121 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TirFl-0006ZN-8h for ged-emacs-devel@m.gmane.org; Wed, 12 Dec 2012 13:41:57 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:55628) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TirFZ-0006Y6-Dg for emacs-devel@gnu.org; Wed, 12 Dec 2012 13:41:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TirFL-0001yY-IM for emacs-devel@gnu.org; Wed, 12 Dec 2012 13:41:45 -0500 Original-Received: from mtaout23.012.net.il ([80.179.55.175]:33875) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TirFL-0001yK-A4 for emacs-devel@gnu.org; Wed, 12 Dec 2012 13:41:31 -0500 Original-Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0MEX00M00L0G5Z00@a-mtaout23.012.net.il> for emacs-devel@gnu.org; Wed, 12 Dec 2012 20:41:29 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MEX00L26L94Z0A0@a-mtaout23.012.net.il>; Wed, 12 Dec 2012 20:41:29 +0200 (IST) In-reply-to: <83obi07wws.fsf@gnu.org> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.175 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:155521 Archived-At: > Date: Wed, 12 Dec 2012 05:48:51 +0200 > From: Eli Zaretskii > Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org > > > Date: Tue, 11 Dec 2012 22:58:33 +0100 > > From: Dani Moncayo > > Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org > > > > > As expected. So, if compiling the C sources takes 1 min and compiling > > > the Lisp files takes 6.5 min, how come the bootstrap takes 15 min? > > > What else takes 7.5 min? > > > > I don't know. It seems that a bootstrap is not equivalent to the sum > > of the two commands we've measured. > > The only other thing is deleting files at the beginning of bootstrap. > > I suggest to bootstrap with a clock in your hand, and make notes about > the times each part takes. There are at least 5 min more to gain > here, so I think you should be motivated enough ;-) This is a bit longish message, sorry. The bottom line is that I think I know where those 5 min come from, and that Dani should get used to the 15-min mark for the time being. First, on my Core i7 running XP, and with "make -j8", the detailed time schedule of a full bootstrap are: 1:10 min for the initial compilation of C sources 0:30 min for generating loaddefs 4:10 min for compiling Lisp files 0:26 min for the final compilation of C sources 6:46 min total After the bootstrap, removing all the *.elc files and recompiling them with emacs.exe, which includes a byte-compiled byte compiler, takes about 2:30 to 3 min with "make -j8", which is 60% of the time it takes using an interpreted byte compiler. Not the 25% I somehow measured a day or two ago. I also did measurements on a Windows 7 machine. This one has a Core 2 duo E7300 CPU, so it is slightly less powerful than what Dani has. Here's the bootstrap schedule on that machine using "make -j2": 1:45 min for the initial compilation of C sources 0:50 min for generating loaddefs 11:35 min for compiling Lisp files 0:50 min for the final compilation of C sources 16:00 min total Removing *.elc files and recompiling all of them with byte-compiled compiler and "make -j2" takes 6:00 minutes, which is again almost twice faster. IOW, the missing 5 min are the difference between compiling Lisp files with an interpreted byte compiler and a byte-compiled one. So I guess the 15 min that Dani gets is what is possible on a 2-core machine, and any further improvements are possible only if Emacs is re-dumped with byte-compiled preloaded filed early on and then that binary used to compile the rest of Lisp files, like we do on Unix.