From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.help Subject: Re: Why is Elisp slow? Date: Sat, 04 May 2019 10:03:28 -0400 Message-ID: References: <83muk4obfd.fsf@gnu.org> <20190502214006.4fdsinp7u5xuqvdv@Ergus> <20190503004416.xfuzzucflp6bxpuz@Ergus> <20190503103644.63lccjehmzulaojn@Ergus> <456EE4D4-F542-4F6A-B146-E6B9D72AE93B@icloud.com> <83tvebn1we.fsf@gnu.org> <20190503125832.44ovncaxp3vyjsla@Ergus> <20190504133218.g3ysx3ksuyvlthg3@Ergus> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="193879"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: help-gnu-emacs@gnu.org To: Ergus Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sat May 04 16:03:45 2019 Return-path: Envelope-to: geh-help-gnu-emacs@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 1hMvGT-000oL5-Dv for geh-help-gnu-emacs@m.gmane.org; Sat, 04 May 2019 16:03:45 +0200 Original-Received: from localhost ([127.0.0.1]:57102 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hMvGS-0000OJ-Dh for geh-help-gnu-emacs@m.gmane.org; Sat, 04 May 2019 10:03:44 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:48277) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hMvGH-0000O1-H0 for help-gnu-emacs@gnu.org; Sat, 04 May 2019 10:03:34 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hMvGG-0004fv-K1 for help-gnu-emacs@gnu.org; Sat, 04 May 2019 10:03:33 -0400 Original-Received: from chene.dit.umontreal.ca ([132.204.246.20]:53211) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hMvGG-0004fO-Fb for help-gnu-emacs@gnu.org; Sat, 04 May 2019 10:03:32 -0400 Original-Received: from pastel.home (lechon.iro.umontreal.ca [132.204.27.242]) by chene.dit.umontreal.ca (8.14.7/8.14.1) with ESMTP id x44E3T70029416; Sat, 4 May 2019 10:03:29 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id BAE976A307; Sat, 4 May 2019 10:03:28 -0400 (EDT) In-Reply-To: <20190504133218.g3ysx3ksuyvlthg3@Ergus> (Ergus's message of "Sat, 4 May 2019 15:32:18 +0200") X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 2 Rules triggered EDT_SA_DN_PASS=0, RV6539=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6539> : inlines <7072> : streams <1820550> : uri <2840464> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 132.204.246.20 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:120190 Archived-At: > Inter-language interaction (which is one of the strong features in > Guile out of the box) That's fairly abstract (details matter: e.g. how are you going to use macros like `define-minor-mode` from non-Elisp languages?). Also while I much prefer Scheme to Elisp (or Common-Lisp for that matter), I'm not looking forward to maintaining Emacs packages in two (and more) different languages, and other maintainers are probably imagining such maintenance nightmare with a lot more dread than I. So again: what are the advantages? >From that point of view, moving Emacs to a Common-Lisp implementation would make more sense, since there is a chance we can *replace* Elisp with Common-Lisp in the long-run, rather than adding another language on the side. > and native compilation. That's irrelevant. I think you mean "efficiency" or something like that. But that presumes that Elisp-on-Guile is indeed more efficient than Elisp-on-Emacs. Is there actual evidence that this is the case? Also "efficiency" is broad: there's the execution time of some benchmarks, of course, but there's also the startup time, the VM size, the heap size, the GC interruptions, the time to load a big package (e.g. org-mode), ... Guile would hopefully win on some of those, but by how much? And how much worse does it make the others? > Plus some people taking care of the compiler/interpreter/virtual > machine parts and specialized in that specific section, which is good > because we need manpower. AFAIC that's the main goal, indeed. But last I checked Guile didn't have much manpower either. And there's a good chance that tracking Guile development (after switching to Guile) will also require manpower on Emacs's side. So it's not clear that it would turn out to be an advantage. Stefan