From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings Newsgroups: gmane.emacs.bugs Subject: bug#56682: Fix the long lines font locking related slowdowns Date: Thu, 04 Aug 2022 16:25:28 +0000 Message-ID: <3d639ea126c6b0c6737b@heytings.org> References: <8335esjppt.fsf@gnu.org> <837d43j198.fsf@gnu.org> <83y1wjhkkh.fsf@gnu.org> <83wnc3hkdg.fsf@gnu.org> <49df74e5-e16a-a532-98d1-66c6ff1eb6c6@yandex.ru> <83pmhuft5a.fsf@gnu.org> <05388e8d8836c2e7ef3e@heytings.org> <136c4fe0fcb9ce5181cb@heytings.org> <3d639ea12689d767ba2a@heytings.org> <838ro44fc8.fsf@gnu.org> <3d639ea126d759bddfea@heytings.org> <83y1w42vp4.fsf@gnu.org> <3d639ea12618e6a503af@heytings.org> <83wnbo2uw3.fsf@gnu.org> <3d639ea126e3a4d880b8@heytings.org> <83k07o2izh.fsf@gnu.org> <3d639ea1265c40a07f40@heytings.org> <83h72s2e3o.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32936"; mail-complaints-to="usenet@ciao.gmane.io" Cc: gerd.moellmann@gmail.com, 56682@debbugs.gnu.org, monnier@iro.umontreal.ca, dgutov@yandex.ru To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Aug 04 18:26:12 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1oJdfn-0008Ja-SK for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 04 Aug 2022 18:26:11 +0200 Original-Received: from localhost ([::1]:53052 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oJdfm-0004ai-VS for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 04 Aug 2022 12:26:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38584) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oJdfe-0004Xo-Su for bug-gnu-emacs@gnu.org; Thu, 04 Aug 2022 12:26:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36506) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oJdfe-0008PW-Jr for bug-gnu-emacs@gnu.org; Thu, 04 Aug 2022 12:26:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oJdfe-0000kx-95 for bug-gnu-emacs@gnu.org; Thu, 04 Aug 2022 12:26:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 04 Aug 2022 16:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56682 X-GNU-PR-Package: emacs Original-Received: via spool by 56682-submit@debbugs.gnu.org id=B56682.16596303332870 (code B ref 56682); Thu, 04 Aug 2022 16:26:02 +0000 Original-Received: (at 56682) by debbugs.gnu.org; 4 Aug 2022 16:25:33 +0000 Original-Received: from localhost ([127.0.0.1]:54488 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oJdfB-0000kE-B3 for submit@debbugs.gnu.org; Thu, 04 Aug 2022 12:25:33 -0400 Original-Received: from heytings.org ([95.142.160.155]:39014) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oJdf8-0000k5-L1 for 56682@debbugs.gnu.org; Thu, 04 Aug 2022 12:25:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20220101; t=1659630329; bh=YMuF9GrEVseWLuFMF/PTK47kliIPOuzL5pJM6GSwaf0=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=9ndk5EnIfssOMhMWVu+qvP36ZROxquFxN8PWuGqIdaXS0Wx1Pn2jEaWq2L8v55SCO eOEl+N4u/K94UPUKoy3lSsColTnLQUmyLf6grH8ZIVCXfxa9+M1sP7PgBlwRKRYoSh jsYrrtuuL7ZDT3ofq+ARNKczdZzwz3r6nJr/RH+qjPeortTXBdvhtsr45G4UXEIbdW NPuFwefjvvRfTtiWRqr+vNkw+WWNOnsWBUNf+HUYXjr4Crc3YieSjw+2gKMec5iLJZ +5dy+Rbxadk5yKqbqqutBjYjWX7eVg8p3MoOqrKD/cvx9C9bj0TX0CS/j6TQHzEaJF WKiV7DbGnvVtQ== In-Reply-To: <83h72s2e3o.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:238766 Archived-At: >> For example C-p, C-n, C-v, M-v. C-f and C-b also, but much less so. >> >> For example, open the file and do M-g c 70000 RET. This took about 5 >> seconds. Now do C-n, this again took about 5 seconds. With the >> optimizations, M-g c 70000 RET is almost immediate, and C-n there takes >> less than a second. > > I'm on the branch, so I am _after_ the optimizations. I thought you > said even after that the navigation is sluggish. > Yes, that's what I said indeed. > > I see somewhat slower response than in "normal" files, but my build is > unoptimized, so where it takes 3 or 4 seconds, and optimized build > should be almost instantaneous. And that looks good enough to me, since > being a bit slower in such files is IMO fine. > It's not really "almost instantaneous", moving point can take (depending on factors I do not understand at the moment) something between 0.2 seconds and 2 seconds. > > OK. Text that goes through character compositions is expected to be > slower in redisplay, because character composition in Emacs works by > calling into Lisp. > So Arabic text goes through character compositions and Hebrew text doesn't, is that correct? > > So I think we are good here, do you agree? > Hmmm... I still think it would be possible to do better. With the above recipe (M-g g 70000 RET C-n), composition_compute_stop_pos is called 627663 times and uses about 2 seconds of CPU time. What surprises me (and makes me believe it's perhaps possible to do better) is that it is called repeatedly with the same arguments. For example, when doing C-n it is called 26 times with charpos = 69980.