[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Split `simple.el'?
From: |
Stefan Monnier |
Subject: |
Re: Split `simple.el'? |
Date: |
Fri, 06 Apr 2018 15:25:55 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
>> OK, I just tried it on my office's 2006 mac-mini (Core 2 Duo T7600)
>> where the above says it has 437 fonts installed (removing the iso10646
>> constraint brings it up to 614):
> I get 1244 and 1703, respectively, almost 3 times as many.
And Drew seems to have yet another factor of 3 more.
>> So a "normal" start takes ~0.7s and visiting the hello file brings it to
>> ~1.5s hence adding less than a second.
> I get 0.48s and 10.26s elapsed respectively, with 6s CPU time usage
> for visiting HELLO.
Wow, so almost 10s to display HELLO, compared to less than 1s in my case.
That's a factor 10, i.e. significantly more than a factor 3.
> I have three time as many fonts, and Emacs on Windows checks 2 font
> back-ends before it gives up on characters that don't have any font
> supporting them.
Does this mean the same 1244 fonts (or a significant subset of them) get
considered twice? If not, then it shouldn't necessarily make much of
a difference, right?
On X11 we also have several backends, and they probably have some
overlap, but I'm not sure which ones are actively in use in my case.
> The rest is OS differences regarding enumerating fonts and caching
> them (or lack thereof) by the font back-end.
That seems to impose a factor somewhere between 1.6 and 3.3 (depending
on the impact of the double font backends) of slowdown in your case
compared to mine. That doesn't sound outlandish.
> As for "ancient", this is a 6 year-old core i7 box. But I don't think
> CPU power is the main cost driver here, because I get the same times
> from optimized and non-optimized builds.
I think it is CPU-bound, but most of the CPU time is spent in libraries
rather than in our own code.
Stefan
- Re: Split `simple.el'?, (continued)
- Re: Split `simple.el'?, Paul Eggert, 2018/04/05
- Re: Split `simple.el'?, Andreas Schwab, 2018/04/06
- Re: Split `simple.el'?, Eli Zaretskii, 2018/04/06
- Re: Split `simple.el'?, Stefan Monnier, 2018/04/06
- Re: Split `simple.el'?, Eli Zaretskii, 2018/04/06
- Re: Split `simple.el'?, Eli Zaretskii, 2018/04/06
- RE: Split `simple.el'?, Drew Adams, 2018/04/06
- Re: Split `simple.el'?, Eli Zaretskii, 2018/04/06
- Re: Split `simple.el'?, Stefan Monnier, 2018/04/06
- Re: Split `simple.el'?, Eli Zaretskii, 2018/04/06
- Re: Split `simple.el'?,
Stefan Monnier <=
- Re: Split `simple.el'?, Eli Zaretskii, 2018/04/06
- RE: Split `simple.el'?, Drew Adams, 2018/04/06
- Re: Split `simple.el'?, John Wiegley, 2018/04/06
- Re: Split `simple.el'?, Stefan Monnier, 2018/04/07
Re: Split `simple.el'?, Juri Linkov, 2018/04/07