From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.devel Subject: Re: Recursive compilation? Date: Mon, 06 Jun 2011 17:23:30 -0700 Message-ID: <4DED6F82.5080603@gmail.com> References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig9C7D894C8BF64E7F51A5738E" X-Trace: dough.gmane.org 1307406248 21207 80.91.229.12 (7 Jun 2011 00:24:08 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 7 Jun 2011 00:24:08 +0000 (UTC) Cc: emacs-devel@gnu.org To: Dimitri Fontaine Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jun 07 02:24:04 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QTk5T-0003hg-Ey for ged-emacs-devel@m.gmane.org; Tue, 07 Jun 2011 02:24:03 +0200 Original-Received: from localhost ([::1]:48260 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTk5R-0000Ss-LJ for ged-emacs-devel@m.gmane.org; Mon, 06 Jun 2011 20:24:01 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:39689) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTk58-0000Sl-Ew for emacs-devel@gnu.org; Mon, 06 Jun 2011 20:23:46 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QTk53-0004Nw-Jn for emacs-devel@gnu.org; Mon, 06 Jun 2011 20:23:42 -0400 Original-Received: from mail-pw0-f41.google.com ([209.85.160.41]:36071) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTk53-0004Nj-Cv for emacs-devel@gnu.org; Mon, 06 Jun 2011 20:23:37 -0400 Original-Received: by pwi12 with SMTP id 12so2888843pwi.0 for ; Mon, 06 Jun 2011 17:23:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:x-enigmail-version:content-type; bh=5SEzaD2fbDA0GPXBQPpESmDQYT3a2kcM5VwEfbFJBlE=; b=kPv35WiE/uk0XVT41QbuBRX2satBpY50hTBasGXaA1poYIMltlhsyB7VNTOwTBKZ86 r+P5lxeWAAtg6j5UWltEV7Ha3esaLr/UcmuGX22P65s83FT5EijxSCnS+hD/dTU1xUI1 jEp0ZS1rsNRwyvlMxtfO3Nx/DVbWItejP8CyY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type; b=X9irK/BYNMAhzJxHRmamE3iAWrf5t6Y918yhJ29Vo6Ac4LLwHwp6PdO/EKeie7BqGh W9djHDhp3Lx6Ro8dXvJN9XBzaIDMJ/Iac6YfZmY03JfYx3uCmv0zg47Bthv4dAjdGfCC M8iVJCuHE3UdyVHHacDTI+V/0Ezfr7ctf2BPk= Original-Received: by 10.68.1.165 with SMTP id 5mr2157384pbn.304.1307406215993; Mon, 06 Jun 2011 17:23:35 -0700 (PDT) Original-Received: from [192.168.1.2] (c-24-18-179-193.hsd1.wa.comcast.net [24.18.179.193]) by mx.google.com with ESMTPS id c5sm4037658pbj.57.2011.06.06.17.23.34 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 06 Jun 2011 17:23:34 -0700 (PDT) User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10 In-Reply-To: X-Enigmail-Version: 1.1.1 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.160.41 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:140250 Archived-At: This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig9C7D894C8BF64E7F51A5738E Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 6/6/11 1:46 PM, Dimitri Fontaine wrote: > Lars Magne Ingebrigtsen writes: >>> http://www.emacswiki.org/emacs/byte-code-cache.el >> >> That seems nice, but Stefan's simpler solution would do the trick for >> me, and is something that I think Emacs should do by default. >=20 > Maybe we could arrange things so that byte-code-cache gets included? The problem is that byte-code-cache doesn't _quite_ work. Sure, it handles simple cases well enough, but: 1) it deals with dependency cycles by just not compiling certain files; 2) it breaks inexplicably (i.e., I haven't analyzed it) with nxhtml; and 3) [this may be a spurious effect] code compiled using byte-code-cache somehow seems slower than code compiled the conventional way. When I looked at cc-mode, I noticed a slight performance hit. I'd have to look at it again in more detail to see whether I actually found a problem. Regardless, the mode is an ugly hack. It shadows LOAD and calls the byte compiler in a way it was never meant to be called. If we're going to implement a feature like this, we ought to do it right, and that means making the compiler reentrant and adding the proper hooks to LOAD. --------------enig9C7D894C8BF64E7F51A5738E Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (Darwin) iEYEARECAAYFAk3tb4UACgkQ17c2LVA10VuUPQCgxf77bYDD46safaxHu4ovZvTi ZH8AoLTbNo6TWq3Feo0n/N2hQJUoHL48 =3QEu -----END PGP SIGNATURE----- --------------enig9C7D894C8BF64E7F51A5738E--