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: Skipping unexec via a big .elc file Date: Mon, 24 Oct 2016 13:51:02 +0300 Message-ID: <83wpgy3trd.fsf@gnu.org> References: <83h98nidvd.fsf@gnu.org> <87eg3rvtsf.fsf@users.sourceforge.net> <83k2dihpm9.fsf@gnu.org> <8760p2wzgj.fsf@users.sourceforge.net> <838ttyhhzu.fsf@gnu.org> <871szqwu51.fsf@users.sourceforge.net> <831szqhbc2.fsf@gnu.org> <87d1itt79z.fsf_-_@users.sourceforge.net> <7baa18d4-2b09-caa8-005e-29008a383ad1@cs.ucla.edu> <83mvhwrgd5.fsf@gnu.org> <8539f38f-9a11-44c3-4de7-bb974c96206c@cs.ucla.edu> <8360ojpndr.fsf@gnu.org> <83shrnm0k1.fsf@gnu.org> <83insi5jy9.fsf@gnu.org> <83bmya5i7q.fsf@gnu.org> <834m425eb5.fsf@gnu.org> <831sz65anw.fsf@gnu.org> <2aea885d-c0dc-595f-3135-a564e92a905d@dancol.org> <83y41e3vaa.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1477306321 27156 195.159.176.226 (24 Oct 2016 10:52:01 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 24 Oct 2016 10:52:01 +0000 (UTC) Cc: schwab@suse.de, larsi@gnus.org, dancol@dancol.org, emacs-devel@gnu.org To: Philipp Stephani Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Oct 24 12:51:54 2016 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 1bycr5-0005IK-KQ for ged-emacs-devel@m.gmane.org; Mon, 24 Oct 2016 12:51:47 +0200 Original-Received: from localhost ([::1]:45828 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bycr8-0000mY-3C for ged-emacs-devel@m.gmane.org; Mon, 24 Oct 2016 06:51:50 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33671) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bycqU-0000l9-P5 for emacs-devel@gnu.org; Mon, 24 Oct 2016 06:51:14 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bycqQ-0004Th-VF for emacs-devel@gnu.org; Mon, 24 Oct 2016 06:51:10 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:46752) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bycqQ-0004TS-S8; Mon, 24 Oct 2016 06:51:06 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1789 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1bycqO-0006Y0-MP; Mon, 24 Oct 2016 06:51:06 -0400 In-reply-to: (message from Philipp Stephani on Mon, 24 Oct 2016 10:28:06 +0000) 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:208674 Archived-At: > From: Philipp Stephani > Date: Mon, 24 Oct 2016 10:28:06 +0000 > Cc: schwab@suse.de, larsi@gnus.org, emacs-devel@gnu.org > > But loading the "pre-loaded" *.elc files as quickly as possible is IMO > an attractive approach, because it's very simple and doesn't require > knowing too much about unrelated issues. > > I agree, we should strife for simplicity first and performance later. I'd suggest to use the pre-loaded .elc > approach in master and work on a faster (but still portable) replacement later, when the need arises. I agree: we should make it work right first, and speed it up later. There's a lot of room for speed improvement, some of the ideas were already voiced here. If someone wants to work on this, I think some of the stuff that should be done is this: . Implement a command that writes a given list of *.elc files into a single file. . Make the C code that today runs at dump time and records various build-related variables, such as source-directory and system-configuration-features, record the values in a Lisp file (eventually will be the same .elc file that is loaded at startup). (I'm sure there are more items in that list, but I didn't think long enough to come up with more.) Volunteers are welcome.