bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#23928: 25.0.95; Performance regression observable with smartparens


From: Aaron Jensen
Subject: bug#23928: 25.0.95; Performance regression observable with smartparens
Date: Sun, 10 Jul 2016 02:55:31 +0000

On Sat, Jul 9, 2016 at 10:01 AM Eli Zaretskii <eliz@gnu.org> wrote:
> To narrow things down, it would be helpful to have a profile from 24.5
> (which I understand doesn't have this performance problem?) for
> comparison.

I’ve added profiles of both here:  https://gist.github.com/aaronjensen/a1c2b56eac192b0d9cac76b493822070

In this profile, they’re showing pretty much the exact same performance, so that doesn’t tell us much. I believe the performance degradation is something that happens over time, and these are fresh runs of emacs. I’ll have to try and get from 25 next time it slows down on me.

One curious thing is that the emacs 24 profile shows all of the builtins (let/if/save-excusion) and the emacs 25 profile does not. Is there something I’m doing wrong that is causing that? I’m using the same `profiler-start` function.

I think the version of smartparens and some kind of recipe starting
from "emacs -Q" is also required, because saying it's unusable doesn't
really tell enough.

I’ll work on this. It seems possible that it will be very hard to track down given the nature—the performance isn’t *always* bad, it just becomes bad at some point in the session. It’s possible that this is not an emacs or even a smartparens bug, I mostly opened this in case something stood out, “Oh, yea we changed the regex engine and…” or something like that. 
 

As I said, I'm not yet convinced it's an Emacs core problem.  I see no
evidence to that effect.

And please don't use elp.el to produce profiles, use profiler.el,
because the latter can profile primitives as well.

I don’t even know how to use elp.el, was there some indication that I was? As I said above, I’m confused by the fact that emacs 25 profiler output is missing built in functions (Is this what you mean by primitives?)

Thanks!
--
Aaron

reply via email to

[Prev in Thread] Current Thread [Next in Thread]