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: Emacs build times on Windows Date: Sat, 21 Apr 2012 16:52:40 +0300 Message-ID: <83r4vhgpjr.fsf@gnu.org> References: <4F922E92.8030200@gmail.com> <83vckth7ah.fsf@gnu.org> <4F92A296.3000604@gmail.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: dough.gmane.org 1335016375 21800 80.91.229.3 (21 Apr 2012 13:52:55 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 21 Apr 2012 13:52:55 +0000 (UTC) Cc: emacs-devel@gnu.org To: Christoph Scholtes Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Apr 21 15:52:54 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 1SLakA-00080n-45 for ged-emacs-devel@m.gmane.org; Sat, 21 Apr 2012 15:52:54 +0200 Original-Received: from localhost ([::1]:60213 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SLak9-0007eQ-I6 for ged-emacs-devel@m.gmane.org; Sat, 21 Apr 2012 09:52:53 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:39002) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SLak3-0007dp-4I for emacs-devel@gnu.org; Sat, 21 Apr 2012 09:52:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SLajy-0007Nz-0X for emacs-devel@gnu.org; Sat, 21 Apr 2012 09:52:46 -0400 Original-Received: from mtaout22.012.net.il ([80.179.55.172]:32814) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SLajx-0007Nv-Oo for emacs-devel@gnu.org; Sat, 21 Apr 2012 09:52:41 -0400 Original-Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0M2U00G0011DL300@a-mtaout22.012.net.il> for emacs-devel@gnu.org; Sat, 21 Apr 2012 16:52:34 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([84.229.172.156]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0M2U00FB117L6QR0@a-mtaout22.012.net.il>; Sat, 21 Apr 2012 16:52:34 +0300 (IDT) In-reply-to: <4F92A296.3000604@gmail.com> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-Received-From: 80.179.55.172 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:149905 Archived-At: > Date: Sat, 21 Apr 2012 06:05:42 -0600 > From: Christoph Scholtes > CC: emacs-devel@gnu.org > > > On my i7 desktop (4 hyper-threaded cores), it takes 9 minutes, if I > > use the -j10 switch to Make. I suggest that you try -j6 in your > > builds (if you use anything older than the current CVS of GNU Make, > > you will also have to use the XMFLAGS="-j6" kludge as well, see > > nt/INSTALL). A parallel build should be faster. > > Thanks. Does this work with mingw32-make also or do I have to use Cygwin > (or MSYS?) to obtain gmake? Parallel builds are supported by the native Windows build of GNU Make since v3.81. So if you have mingw32-make v3.81 or 3.82, you should be all set for parallelism. > I tried building with mingw32-make -j2 but it did not result in any > significant speedup. Like I said: you need to say "mingw32-make -j2 XMFLAGS=-j2" for this to work. The issue here is that the native Windows build of Make does not yet support the "job server" method of parallel execution, which causes the number of jobs in each sub-Make be reset to 1. The XMFLAGS=-j2 kludge works around that by forcing the sub-Make's to use an explicit "-jN" switch. (The current CVS code of Make includes a job server implementation for Windows, so the next release of Make will free us from this kludge.) > > IOW, we use a shell-level loop to compile the files one by one. > > > > So if you are looking for the place to significantly speed up the > > bootstrap, the first place to look is to make the byte compilation use > > a similar setup to what you see in lisp/Makefile.in. > > I see. I will look into that. Thanks. Thanks in advance.