Subject: Re: bug#23928: 25.0.95; Performance regression observable with smartparens

From: Aaron Jensen <[email-masked]>
Date: Sun, 10 Jul 2016 02:55:31 +0000

On Sat, Jul 9, 2016 at 10:01 AM Eli Zaretskii <[email-masked]> 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