From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.help Subject: Re: Is Elisp really that slow? Date: Sun, 12 May 2019 20:37:08 +0200 Message-ID: <875zqfv7sb.fsf@telefonica.net> References: <20190502214006.4fdsinp7u5xuqvdv@Ergus> <20190503004416.xfuzzucflp6bxpuz@Ergus> <8736lm30lz.fsf@web.de> <864l61j04d.fsf@zoho.eu> <20190511073254.GB29829@tuxteam.de> <04187AB9-AD7D-492D-A890-BCB01848370C@icloud.com> <20190511075712.GD29829@tuxteam.de> <86a7fsfv1m.fsf@zoho.eu> <20190512075448.GA11650@tuxteam.de> <346107E9-590D-4A18-9152-ECFF36FC4EDC@icloud.com> <83r293bvok.fsf@gnu.org> <87ef53vihw.fsf@telefonica.net> <83mujrbsk7.fsf@gnu.org> <87a7frvfo1.fsf@telefonica.net> <83h89zbndc.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="2423"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun May 12 20:37:34 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 1hPtLq-0000Vr-06 for geh-help-gnu-emacs@m.gmane.org; Sun, 12 May 2019 20:37:34 +0200 Original-Received: from localhost ([127.0.0.1]:46134 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hPtLn-00022U-Tz for geh-help-gnu-emacs@m.gmane.org; Sun, 12 May 2019 14:37:31 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:34319) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hPtLa-00022M-Us for help-gnu-emacs@gnu.org; Sun, 12 May 2019 14:37:20 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hPtLZ-0004TP-Pl for help-gnu-emacs@gnu.org; Sun, 12 May 2019 14:37:18 -0400 Original-Received: from [195.159.176.226] (port=33006 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hPtLZ-0004PU-JP for help-gnu-emacs@gnu.org; Sun, 12 May 2019 14:37:17 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1hPtLX-00009F-HQ for help-gnu-emacs@gnu.org; Sun, 12 May 2019 20:37:15 +0200 X-Injected-Via-Gmane: http://gmane.org/ Cancel-Lock: sha1:yKkxrgGKX3iHw4/qUQ8SpyQTF9M= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 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:120325 Archived-At: Eli Zaretskii writes: >> From: Óscar Fuentes >> Date: Sun, 12 May 2019 17:46:54 +0200 >> >> > I agree that our situation with IDE features is quite bleak, but >> > that's entirely unrelated to the issues discussed in this thread, and >> > its reasons IMO have nothing to do with either ELisp speed or >> > flexibility of Emacs in general. >> >> It has a lot to do. Analyzing source code is cpu-intensive, because it >> is algorithmically complex and lots of data needs to be processed. >> >> The ill-fated Semantic package, despite all the effort invested on >> implementing speed-ups, suffered badly from this and AFAIK it was one of >> the main causes of its failure. >> >> Even if you defer the actual analysis to an external tool (which is the >> sane thing to do, BTW) the amount of data to be processed on the Emacs >> end can be quite large, more than enough to introduce perceptible delays >> that spoil the experience. > > It makes very little sense to me to build a case about bad performance > on a package that is incomplete, not very actively maintained, and > whose features are nowhere near what is needed for a good modern IDE. Maybe this is because they hit some walls, like slowness on Elisp. > It can maybe serve as an opportunity to let off steam, perhaps that's > what you wanted. When I started with Emacs around 20 years ago, whenever something was incorrectly indented or fontified on C++ code I was writing it indicated an error on my part. It was way ahead of any other editor. Nowadays CC Mode can't handle C++ code styles and constructs that became available shortly afterwards the period I mentioned. For languages that became popular since the 1990's Emacs is barely adequate on some cases and a non-starter on others. I'm certainly frustrated because this is a self-inflicted problem. Emacs' high-governance (and I mean "really high", you know what I mean) forced some very bad decisions upon the project (and not only on Emacs) which put us all, developers and users, on a really difficult position. It is terrible that now I have to choose between a superb editor that is dumb about what I'm writing and an average editor that is imbricated with the language's tooling and thus greatly helps me to be more productive. As someone that swears for Emacs, yes, I need to let off some steam whenever I see how certain topics are discussed. > Or are you saying that this situation is due to the fact that ELisp is > a bad implementation language? Elisp is really good, I don't even dare to propose a migration to another language. I have on my to-do list for this year to grab Tromey's JIT branch and migrate it to LLVM and see what the optimization passes can squeeze, possibly with some simple static analysis and, if I'm in the mood, type annotations on Elisp code. Just for fun, because I know on advance that it is unacceptable on Emacs repo.