From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: emacs rendering comparisson between emacs23 and emacs26.3 Date: Sat, 28 Mar 2020 12:58:00 +0300 Message-ID: <83sghs7qdz.fsf@gnu.org> References: <86tv2h2vww.fsf@gmail.com> <20200322123818.GB32470@ACM> <87eetk5swm.fsf@gnu.org> <20200326193128.GC14092@ACM> <86d08y4zsx.fsf@gmail.com> Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="57024"; mail-complaints-to="usenet@ciao.gmane.io" Cc: acm@muc.de, rrandresf@gmail.com, emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Mar 28 10:58:37 2020 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jI8Ef-000Ekj-Pw for ged-emacs-devel@m.gmane-mx.org; Sat, 28 Mar 2020 10:58:37 +0100 Original-Received: from localhost ([::1]:51680 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jI8Ee-0002yF-TB for ged-emacs-devel@m.gmane-mx.org; Sat, 28 Mar 2020 05:58:36 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:35804) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jI8EA-0002Qz-88 for emacs-devel@gnu.org; Sat, 28 Mar 2020 05:58:07 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:59580) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jI8E9-00065z-RO; Sat, 28 Mar 2020 05:58:05 -0400 Original-Received: from [176.228.60.248] (port=3547 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jI8E0-0005tD-LW; Sat, 28 Mar 2020 05:57:57 -0400 In-Reply-To: (message from Richard Stallman on Fri, 27 Mar 2020 22:40:47 -0400) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:245861 Archived-At: > From: Richard Stallman > Date: Fri, 27 Mar 2020 22:40:47 -0400 > Cc: acm@muc.de, emacs-devel@gnu.org > > To tell the people with the strongest commitment to freedom to use an > old version of Emacs is to choose failure. We need to re-optimize the > Emacs master so it gives good performance on those machines. That is of course the ideal we should always strive to, but it's unreasonable to expect newer versions of Emacs to stay as fast as the oder ones: we do add functionality, and some of that eats up CPU cycles. We do try to optimize performance, and occasionally do make newer versions faster (e.g., Emacs 26 is about 30% faster than Emacs 25 on my machine, when scrolling through a large C file), but those are exceptions rather than the rule, because significant speedups are only possible by redesign and reimplementation of core functions, something we do rarely. > Suggesting that we disable certain features is ok. Then my suggestion is to disable font-lock: that makes scrolling through xdisp.c in Emacs 26.3 8 times faster, and almost as fast as Emacs 23.4. > Regarding C++ indentation, I have two suggestions. > > * We could support a faster indentation mode for C code > and for C++ files that use a limited repertoire of C++ constructs. > > * Maybe we can come up with additional tricks comparable to > {-in-column-0 to optimize parsing. Emacs users would put these things > into source files so as to get better peformance. I think the way to increase performance of C/C++ fontification, indentation, etc. is to use syntactic analysis in C (or another similarly fast compiled language). Several programs/libraries are available out there for this purpose, and we should encourage interested individuals to work on making these used by our major modes that support programming languages. The time we could do that with ad-hoc regexps and the likes of syntax-ppss has gone, IMO.