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 09:39:58 +0300 Message-ID: <83insi5jy9.fsf@gnu.org> References: <87twe6sx2g.fsf@users.sourceforge.net> <87eg51ng4r.fsf_-_@users.sourceforge.net> <87k2djwumn.fsf@users.sourceforge.net> <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> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1477291266 20246 195.159.176.226 (24 Oct 2016 06:41:06 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 24 Oct 2016 06:41:06 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Oct 24 08:41:01 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 1byYw8-0002QD-91 for ged-emacs-devel@m.gmane.org; Mon, 24 Oct 2016 08:40:44 +0200 Original-Received: from localhost ([::1]:44875 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1byYwA-0001YA-NS for ged-emacs-devel@m.gmane.org; Mon, 24 Oct 2016 02:40:46 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59407) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1byYvW-0001Dg-C0 for emacs-devel@gnu.org; Mon, 24 Oct 2016 02:40:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1byYvS-0007Es-B5 for emacs-devel@gnu.org; Mon, 24 Oct 2016 02:40:06 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43716) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1byYvS-0007En-9B; Mon, 24 Oct 2016 02:40:02 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1323 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1byYvR-0002l2-8G; Mon, 24 Oct 2016 02:40:01 -0400 In-reply-to: (message from Stefan Monnier on Sun, 23 Oct 2016 21:07:47 -0400) 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:208655 Archived-At: > From: Stefan Monnier > Cc: emacs-devel@gnu.org > Date: Sun, 23 Oct 2016 21:07:47 -0400 > > > That sounds strangely long, as I got less than 2 sec with all the > > preloaded *.elc files concatenated to a single file, and that's before > > I made pure-copy a no-op. > > Another report was that "loadup" with pure-copy short-circuited took > > less than 0.5 sec. See > > Hmm... indeed, I got to 0.72s with his patch (on a different, slower > machine (a Thinkpad X201s, i.e. with a i7 CPU L620 @ 2.00GHz)). > > If I re-add international/characters it goes up a bit to > 0.96s, but still nowhere near the 3s I got on my big .elc file. > [ I wonder what makes loading my big file so slow. ] > > This said, there's still a factor 5-10 to get to "immediate", tho. A small price to pay for the advantages, IMO. The most important advantage in my view is that the dumping/loading process becomes very simple and understandable even by people with minimal knowledge of C subtleties and Emacs internals, let alone development tools like the assembler and the linker. This would make future maintenance much more robust and reliable, and also allow more contributors to work on improving, speeding up, and extending the build process. The alternatives all require us to depend on a dwindling handful of people, which is a huge disadvantage in the long run.