[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Fix python-info-current-defun performance for large defuns
From: |
Eli Zaretskii |
Subject: |
Re: [PATCH] Fix python-info-current-defun performance for large defuns |
Date: |
Fri, 15 Sep 2023 09:56:17 +0300 |
Ping! Tom, could you please respond to the comments, and perhaps post
an updated patch? I'd like to install this when it's ready.
Thanks.
> Date: Tue, 05 Sep 2023 23:17:48 +0900
> From: kobarity <kobarity@gmail.com>
> Cc: emacs-devel@gnu.org
>
>
> Eli Zaretskii wrote:
> > > From: Tom Gillespie <tgbugs@gmail.com>
> > > Date: Sun, 3 Sep 2023 18:37:34 -0700
> > >
> > > Hi,
> > > Here is a patch to fix a performance issue in
> > > python-info-current-defun that appears when the function
> > > is run on large defuns. The issue can appear to the user as a
> > > noticeable (~500ms) freeze when the point is in a large defun
> > > in a python buffer with which-function-mode enabled. More
> > > details in the commit message and comments in the code.
> > >
> > > I made the patch against the emacs-29 branch, but will also
> > > on master without issue.
> >
> > Thanks.
> >
> > kobarity, any comments?
>
> Hi,
> Thank you for the patch. I have tried it and have confirmed that it
> improves performance. I think that not using the time-consuming
> `python-nav-end-of-defun' has helped.
>
> However, I found one unexpected behavior. The following code is an
> example added as an ERT:
>
> def a():
> def b(): return
> if True:
> def c(): return
>
> if True:
> if True:
> def d(): return
>
> In this example, `python-info-current-defun' seems to return "a" if
> the point is on the second line from the bottom. Could you please
> take a look?
>
> My personal impression is that 114 characters per line is a bit long.
>