[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: macOS metal rendering engine in mac port
From: |
Eli Zaretskii |
Subject: |
Re: macOS metal rendering engine in mac port |
Date: |
Mon, 24 May 2021 10:37:11 +0300 |
User-agent: |
K-9 Mail for Android |
On May 24, 2021 9:51:42 AM GMT+03:00, Aaron Jensen <aaronjensen@gmail.com>
wrote:
> On Sun, May 23, 2021 at 8:56 PM Aaron Jensen <aaronjensen@gmail.com>
> wrote:
> >
> > Here are some interesting profile pictures. On the left is emacs -Q
> w/
> > display-line-numbers-mode. On the right is a partial version of my
> > config with some of the things I mentioned before removed. Most of
> the
> > difference between the two comes in the amount of time spent in
> > merge_faces. My config ends up spending roughly 7.5x more time in
> > merge_faces (1500ms vs 200ms). What causes that to get slower?
>
> One thing of note is that emacs -Q has 129 faces for me. My config has
> anywhere from 600-800 faces depending on what's loaded it looks like.
> lface_from_face_name_no_resolve does a linear time search for a face
> every time it's called. It's called over 700k times when I do my
> xdisp.c scroll up test. merge_faces is called over 150k times, each
> time with line-number-current-line or line-number and 0's for face_id
> and base_face_id. I don't really know what this code is doing at all,
> but all of this seems suspect. Thoughts?
Why does it look suspect to you? Don't you also see the same code called to
process the other faces in the buffer?
An Emacs face that is identified by name needs to be converted to the
collection of the face's attributes, so that Emacs could merge faces and
display them. This is what lface_from_face_name does. And it does that for
any face specified in the buffer by its symbol. So how come addition of just
one face and a few characters which have that face have such a profound effect
in your case?
- Re: macOS metal rendering engine in mac port, (continued)
- Re: macOS metal rendering engine in mac port, Aaron Jensen, 2021/05/23
- Re: macOS metal rendering engine in mac port, Aaron Jensen, 2021/05/23
- Re: macOS metal rendering engine in mac port, Eli Zaretskii, 2021/05/23
- Re: macOS metal rendering engine in mac port, Aaron Jensen, 2021/05/23
- Re: macOS metal rendering engine in mac port, Eli Zaretskii, 2021/05/23
- Re: macOS metal rendering engine in mac port, Aaron Jensen, 2021/05/23
- Re: macOS metal rendering engine in mac port, Aaron Jensen, 2021/05/23
- Re: macOS metal rendering engine in mac port, Aaron Jensen, 2021/05/23
- Re: macOS metal rendering engine in mac port, Aaron Jensen, 2021/05/23
- Re: macOS metal rendering engine in mac port, Aaron Jensen, 2021/05/24
- Re: macOS metal rendering engine in mac port,
Eli Zaretskii <=
- Re: macOS metal rendering engine in mac port, Aaron Jensen, 2021/05/24
- Re: macOS metal rendering engine in mac port, Eli Zaretskii, 2021/05/24
- Re: macOS metal rendering engine in mac port, Aaron Jensen, 2021/05/24
- Re: macOS metal rendering engine in mac port, Eli Zaretskii, 2021/05/24
- Re: macOS metal rendering engine in mac port, Aaron Jensen, 2021/05/24
- Re: macOS metal rendering engine in mac port, Eli Zaretskii, 2021/05/24
- Re: macOS metal rendering engine in mac port, Aaron Jensen, 2021/05/24
- Re: macOS metal rendering engine in mac port, Eli Zaretskii, 2021/05/24
- Re: macOS metal rendering engine in mac port, Alan Third, 2021/05/24
- Re: macOS metal rendering engine in mac port, Aaron Jensen, 2021/05/24