From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: "Daniel Colascione" Newsgroups: gmane.emacs.devel Subject: Re: CHECK_STRUCTS/dmpstruct.h mechanism is broken. Date: Thu, 11 Apr 2019 15:26:25 -0700 Message-ID: <7aad2945b0e66330aaeffba79edc87a1.squirrel@dancol.org> References: <20190228202146.GC4686@ACM> <20190228205955.GD4686@ACM> <20190410162203.GA4009@ACM> <9809d5ce-c1c4-48e9-6dac-489431b34067@cs.ucla.edu> <671ba8dd-894b-5698-d162-8901b1098b9a@cs.ucla.edu> <83k1g04al8.fsf@gnu.org> <93b861b3-41d2-e590-d4b8-46a4bb64bfe8@cs.ucla.edu> Mime-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="139319"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: SquirrelMail/1.4.23 [SVN] Cc: Eli Zaretskii , emacs-devel@gnu.org To: "Paul Eggert" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Apr 12 00:27:09 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hEiA0-000a9c-OR for ged-emacs-devel@m.gmane.org; Fri, 12 Apr 2019 00:27:08 +0200 Original-Received: from localhost ([127.0.0.1]:55744 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEi9z-0000A1-Pa for ged-emacs-devel@m.gmane.org; Thu, 11 Apr 2019 18:27:07 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:38113) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEi9S-00009g-Ib for emacs-devel@gnu.org; Thu, 11 Apr 2019 18:26:35 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEi9R-0002p7-MG for emacs-devel@gnu.org; Thu, 11 Apr 2019 18:26:34 -0400 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:33450) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hEi9J-0002fU-WB; Thu, 11 Apr 2019 18:26:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:To:From:Subject:Date:References:In-Reply-To:Message-ID; bh=7NetfEbfXlD589t0878x8j1zqoGs9V4NjHkE3MU8hSc=; b=lo8BPYO6mjCQ/An2DGQSDs1JyvfTWeQXi1CJ30xZEPZFawAU8ZInJ9GTqguC9IJMyoiLVQjRcnHkWHQUcu1ILvn92x7B1VM8Eg8V1zCLhUIkICJVoo4Hc89i4F32VhRR36D0fBvv9Rhd2cazt6CW7sp+InnoY1vTsr78cVVBJZM2CTF548icVeqjhwHkcqhkOOedezh6CuLqaOxmN+2TC+zJD+dAxPllbyapofaIlhQkow5glLVdqWQmGh74A+uI+5hpiDDUzrf1zzUwgktIGDhv2qKRw5CuwTGz5nN9HexAkZkXCjvlPMq/jdnII6ndWETt1lzY01xnZnQCDiMjeA==; Original-Received: from localhost ([127.0.0.1] helo=dancol.org) by dancol.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hEi9J-00051B-8I; Thu, 11 Apr 2019 15:26:25 -0700 Original-Received: from 172.92.145.124 (SquirrelMail authenticated user dancol) by dancol.org with HTTP; Thu, 11 Apr 2019 15:26:25 -0700 In-Reply-To: <93b861b3-41d2-e590-d4b8-46a4bb64bfe8@cs.ucla.edu> X-Priority: 3 (Normal) Importance: Normal X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:235314 Archived-At: > On 4/11/19 12:15 PM, Eli Zaretskii wrote: >> You want to test for system-dependent features with Make? How does >> one do that? > > You execute the test as a 'make' rule that records the test's result as > a makefile snippet (or as a .h file, or whatever). > >> Wouldn't we end up with heaps of Make wizardry only a few understand? > Sure, just as we now have heaps of .m4 and shell etc. wizardry that only > a few understand. (Think of it as the law of conservation of wizardry. > :-) However, an advantage of using Make instead of M4 is that we already > need to use Make anyway, so avoiding m4 means one less thing for > developers to learn. Another advantage is that Make can easily run in > parallel whereas 'configure' does not. > >> IME, the slowest part is byte compilation of Lisp files. Of course, >> that is only a significant factor when you bootstrap or rebuild large >> parts of Emacs, but still. > Yes. Typically I don't recompile Lisp files so the bottleneck for me is > 'configure'. > > Moreover, Lisp file recompilation is parallelized so it's reasonably > fast on larger platforms (the wave of the future :-), whereas > 'configure' will remain slow. I just now timed it, and './configure' > took 29 real-time seconds whereas 'cd lisp; make -j16 compile-always' > took 38 real-time seconds; this was with two circa-2013 Xeon E5-2640 v2 > CPUs with 8 cores each. So on a 32-core platform, I expect ./configure > to take longer than byte-compiling all the Lisp files - i.e., > 'configure' is ridiculously slow. caching is supposed to help with that, isn't it?