From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.bugs Subject: bug#11545: 24.0.96-mac-2.92; Strange speed problem scrolling in C++ code Date: Sat, 2 Nov 2019 10:59:25 +0000 Message-ID: <20191102105925.GA6710@ACM> References: <20120602212028.GA8233@acm.acm> <87bltvigo0.fsf@skangas.se> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="95150"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mutt/1.10.1 (2018-07-13) Cc: John Wiegley , 11545@debbugs.gnu.org To: Stefan Kangas Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Nov 02 12:00:20 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iQr8m-000OcP-53 for geb-bug-gnu-emacs@m.gmane.org; Sat, 02 Nov 2019 12:00:20 +0100 Original-Received: from localhost ([::1]:46436 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iQr8l-0007Ih-1v for geb-bug-gnu-emacs@m.gmane.org; Sat, 02 Nov 2019 07:00:19 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46678) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iQr8a-0007IX-Ea for bug-gnu-emacs@gnu.org; Sat, 02 Nov 2019 07:00:09 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iQr8Z-0002gy-6l for bug-gnu-emacs@gnu.org; Sat, 02 Nov 2019 07:00:08 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:49424) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iQr8V-0002WO-IV; Sat, 02 Nov 2019 07:00:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iQr8U-0001ar-Cv; Sat, 02 Nov 2019 07:00:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Alan Mackenzie Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, bug-cc-mode@gnu.org Resent-Date: Sat, 02 Nov 2019 11:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 11545 X-GNU-PR-Package: emacs,cc-mode Original-Received: via spool by 11545-submit@debbugs.gnu.org id=B11545.15726923746058 (code B ref 11545); Sat, 02 Nov 2019 11:00:02 +0000 Original-Received: (at 11545) by debbugs.gnu.org; 2 Nov 2019 10:59:34 +0000 Original-Received: from localhost ([127.0.0.1]:58245 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQr82-0001Zc-0u for submit@debbugs.gnu.org; Sat, 02 Nov 2019 06:59:34 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:14902 helo=mail.muc.de) by debbugs.gnu.org with smtp (Exim 4.84_2) (envelope-from ) id 1iQr7x-0001ZP-Ta for 11545@debbugs.gnu.org; Sat, 02 Nov 2019 06:59:31 -0400 Original-Received: (qmail 14266 invoked by uid 3782); 2 Nov 2019 10:59:28 -0000 Original-Received: from acm.muc.de (p2E5D5AEB.dip0.t-ipconnect.de [46.93.90.235]) by colin.muc.de (tmda-ofmipd) with ESMTP; Sat, 02 Nov 2019 11:59:25 +0100 Original-Received: (qmail 6772 invoked by uid 1000); 2 Nov 2019 10:59:25 -0000 Content-Disposition: inline In-Reply-To: <87bltvigo0.fsf@skangas.se> X-Delivery-Agent: TMDA/1.1.12 (Macallan) X-Primary-Address: acm@muc.de X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:170787 Archived-At: Hello, Stefan. On Fri, Nov 01, 2019 at 19:40:31 +0100, Stefan Kangas wrote: > Hi Alan, > Alan Mackenzie writes: > > On Mon, May 28, 2012 at 06:05:15PM -0500, John Wiegley wrote: > >> >>>>> John Wiegley writes: > >> >>>>>> YAMAMOTO Mitsuharu writes: > >> >> With the Time Profiler in Instrument.app, I found that fontification > >> >> of CC Mode in Emacs 24 is much heavier and causes frequent GCs than > >> >> that in Emacs 23. Please try the following: > >> >> 1. Start Emacs 24 Mac port with -Q (alternatively, pressing the > >> >> shift key.) > >> >> 2. M-x load-file PREFIX/share/emacs/23.4/lisp/progmodes/cc-fonts.elc > >> >> RTE. > >> >> 3. Replay scrolling a large C++ file. > >> >> I'm not sure if this slowdown is intended or expected. > >> > Indeed, this makes the speed situation much better on Emacs 24.0.97. > >> I can now confirm that loading CC-Mode 5.32.3 into Emacs 23.4 causes > >> the identical speed issues that I was seeing with Emacs 24.0.97, so > >> this is a performance issue in the latest CC-Mode, not a bug in Emacs > >> 24 or with Mac-Port Emacs. > >> To the CC-Mode maintainers: is there a way to disable the slower, "more > >> correct" mode in the latest CC-Mode, and go back to the entirely > >> sufficient (for me) mode of previous versions? > > Not as such, no. The only workaround at the moment is to use a > > "pre-correct" version of CC Mode in place of an up to date one. > > I've just done a binary chop on CC Mode versions, and it seems the latest > > version before (?the first of) these enhancements was the one created by > > this (mercurial) changeset (the repository can be downloaded from > > ): > > changeset: 5109:981fa4f0270c > > parent: 5107:bd4013c5633b > > user: acmacm > > date: Wed Sep 15 17:47:52 2010 +0000 > > files: cc-engine.el > > description: > > (c-forward-<>-arglist-recur): Fix an infinite recursion. > > To undo these changes would be difficult, since several later > > enhancements and bug fixes are based on the new code. I'll see if I can > > find some way of optimising the offending code - most of the time it's > > doing expensive checks and finding nothing. > > Anyhow, I've got the problem flagged as a bug now. Thanks again for > > reporting it. > Just to follow up on this bug, which has seen no update in the last 7 > years. Has it been fixed by now? "Fixed" doesn't seem the right term, really. There have been several improvemnts in the scrolling speed over the years (the latest less than an hour ago ;-). When I scroll through a typical ~700k C++ buffer, I now experience mild sluggishness, a C-v taking a small fraction of a second, but longer than instantaneous. This is perhaps less than ideal on a slowish machine (which mine is not), but there's a tradeoff between rapid fontification and correct fontification. I think this bug should now be closed. > Best regards, > Stefan Kangas -- Alan Mackenzie (Nuremberg, Germany).