From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Ahead of time compilation? Date: Sat, 15 Sep 2018 09:57:39 +0300 Message-ID: <8336ubjli4.fsf@gnu.org> References: <20180914181636.3ae6b46b@jabberwock.cb.piermont.com> NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1536994553 9890 195.159.176.226 (15 Sep 2018 06:55:53 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 15 Sep 2018 06:55:53 +0000 (UTC) Cc: emacs-devel@gnu.org To: "Perry E. Metzger" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Sep 15 08:55:48 2018 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g14Ue-0002TN-NC for ged-emacs-devel@m.gmane.org; Sat, 15 Sep 2018 08:55:48 +0200 Original-Received: from localhost ([::1]:54564 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g14Wk-00057U-R6 for ged-emacs-devel@m.gmane.org; Sat, 15 Sep 2018 02:57:58 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41416) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g14Wc-00057M-Hq for emacs-devel@gnu.org; Sat, 15 Sep 2018 02:57:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g14WZ-0002vD-CK for emacs-devel@gnu.org; Sat, 15 Sep 2018 02:57:50 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37745) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g14WZ-0002v7-8f; Sat, 15 Sep 2018 02:57:47 -0400 Original-Received: from [176.228.60.248] (port=3517 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1g14WY-0002cR-Qv; Sat, 15 Sep 2018 02:57:47 -0400 In-reply-to: <20180914181636.3ae6b46b@jabberwock.cb.piermont.com> (perry@piermont.com) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e 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:229804 Archived-At: > Date: Fri, 14 Sep 2018 18:16:36 -0400 > From: "Perry E. Metzger" > > Given the recent JIT discussion, it occurs to me that a large > fraction of the elisp infrastructure in the average emacs is the > stuff that gets slurped in and undumped. Perhaps all that stuff could > get ahead of time compiled before undump for performance? Build time > isn't nearly as relevant for me as speed during execution, and on > platforms that don't have the infra, the interpreter could continue > to be use for that stuff. IMO, before we decide to do this, we should convince ourselves that JIT in the libjit branch indeed speeds up things significantly enough for us to bother doing the above. There was contradictory evidence about that in the past, see recent threads on this list. As one data point I measured myself, the time it took to byte-compile all of the Lisp files in the Emacs tree was almost exactly the same with and without JIT. Benchmarks of JIT performance as compared to byte-compiled code are therefore greatly appreciated. For the issue you raise above, I guess we should try benchmarking code that gets dumped into the Emacs executable, from preloaded packages; you can see them listed in loadup.el. Thanks.