Subject: Re: bug#38104: 27.0.50; elixir-mode fontification is very slow

From: Dmitry Gutov <[email-masked]>
Date: Tue, 26 Nov 2019 18:26:13 +0200

I did a 'git bisect', and it came down to:

   commit 2ed71227c626c6cfdc684948644ccf3d9eaeb15b
   Author: Mattias Engdegård <[email-masked]>
   Date:   Wed Sep 25 14:29:50 2019 -0700

       New rx implementation

Mattias, could you look into it?

elixir-mode does use rx, heavily. Albeit with a thin wrapper.

To be clear, elixir-mode is quite unusable now.

On 07.11.2019 17:40, Dmitry Gutov wrote:
> I haven't been able to track this to a particular component (e.g. a
> regexp) for now, but font-lock-fontify-region is now considerably slower
> than it was in Emacs 26 (at least at revision cb8fb597e5bf4f14).
> 
> To reproduce: install elixir-mode (e.g. from MELPA Stable):
> 
> (add-to-list 'package-archives
>               '("melpa-stable" . "https://stable.melpa.org/packages/") t)
> 
> M-x list-packages, install elixir-mode.
> 
> Savet the attached tiny.__ex__ as tiny.ex.
> 
> Visit tiny.ex.
> 
> Eval: (benchmark 1 '(font-lock-fontify-region (point-min) (point-max))).
> 
> "Elapsed time: 0.158824s"
> 
> With larger files, the times are much longer.
> 
> I had a break from Elixir, so I noticed this only now.
> 
> In GNU Emacs 27.0.50 (build 11, x86_64-pc-linux-gnu, GTK+ Version 3.24.8)
>   of 2019-11-05 built on potemkin
> Repository revision: dd19cc3aa16ccc441a8a2bfcdeb3005a6eef2543
> Repository branch: master
> Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
> System Description: Ubuntu 19.04