From: Stefan Monnier <monnier@IRO.UMontreal.CA>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Split `simple.el'?
Date: Fri, 06 Apr 2018 15:25:55 -0400 [thread overview]
Message-ID: <jwvh8oocfn7.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <837epk182x.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 06 Apr 2018 21:52:06 +0300")
>> 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
next prev parent reply other threads:[~2018-04-06 19:25 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-03 21:41 Split `simple.el'? Drew Adams
2018-04-03 22:25 ` Stefan Monnier
2018-04-03 22:43 ` Paul Eggert
2018-04-03 22:57 ` Drew Adams
2018-04-03 23:00 ` Davis Herring
2018-04-03 23:15 ` Drew Adams
2018-04-03 23:01 ` Drew Adams
2018-04-04 0:21 ` Stefan Monnier
2018-04-04 2:02 ` Paul Eggert
2018-04-04 2:57 ` Drew Adams
2018-04-04 3:19 ` Stefan Monnier
2018-04-04 23:43 ` Drew Adams
2018-04-05 0:54 ` Stefan Monnier
2018-04-04 6:50 ` Eli Zaretskii
2018-04-04 17:20 ` Paul Eggert
2018-04-04 19:08 ` Eli Zaretskii
2018-04-04 19:29 ` Paul Eggert
2018-04-04 19:37 ` Eli Zaretskii
2018-04-04 19:59 ` Paul Eggert
2018-04-05 5:55 ` Eli Zaretskii
2018-04-05 16:01 ` Paul Eggert
2018-04-04 23:44 ` Drew Adams
2018-04-05 0:04 ` Paul Eggert
2018-04-04 6:41 ` Eli Zaretskii
2018-04-04 8:19 ` Andreas Schwab
2018-04-04 8:55 ` Eli Zaretskii
[not found] ` <<838ta34agu.fsf@gnu.org>
2018-04-04 23:44 ` Drew Adams
2018-04-05 0:56 ` Stefan Monnier
2018-04-04 6:36 ` Eli Zaretskii
2018-04-04 13:14 ` Stefan Monnier
2018-04-04 14:02 ` Eli Zaretskii
2018-04-05 1:05 ` Stefan Monnier
2018-04-05 1:17 ` Drew Adams
2018-04-05 6:39 ` Eli Zaretskii
2018-04-05 17:25 ` Drew Adams
2018-04-05 17:51 ` Eli Zaretskii
[not found] ` <<83vad51r06.fsf@gnu.org>
2018-04-05 18:23 ` Drew Adams
2018-04-05 20:53 ` Stefan Monnier
2018-04-05 20:45 ` Stefan Monnier
2018-04-05 21:56 ` Drew Adams
2018-04-05 22:07 ` Stefan Monnier
2018-04-06 6:22 ` Andreas Schwab
2018-04-06 8:10 ` Eli Zaretskii
[not found] ` <<83in974gwf.fsf@gnu.org>
2018-04-04 23:44 ` Drew Adams
2018-04-05 6:26 ` Eli Zaretskii
2018-04-05 6:36 ` Eli Zaretskii
2018-04-03 22:27 ` Clément Pit-Claudel
2018-04-03 22:49 ` Drew Adams
2018-04-04 6:12 ` Eli Zaretskii
2018-04-04 19:45 ` Juri Linkov
2018-04-05 6:02 ` Eli Zaretskii
2018-04-07 20:29 ` Juri Linkov
2018-04-08 13:51 ` Eli Zaretskii
2018-04-08 19:51 ` Juri Linkov
2018-04-09 2:23 ` Eli Zaretskii
2018-04-09 20:31 ` Juri Linkov
2018-04-10 2:38 ` Eli Zaretskii
2018-04-04 22:13 ` John Wiegley
2018-04-04 22:31 ` Clément Pit-Claudel
2018-04-04 22:49 ` John Wiegley
2018-04-05 2:37 ` Clément Pit-Claudel
2018-04-05 6:33 ` Eli Zaretskii
2018-04-05 20:00 ` Clément Pit-Claudel
2018-04-05 8:12 ` Nick Helm
2018-04-05 6:44 ` Eli Zaretskii
2018-04-05 9:53 ` John Wiegley
2018-04-04 22:45 ` Jefferson Carpenter
2018-04-05 6:17 ` Eli Zaretskii
2018-04-05 8:17 ` Jefferson Carpenter
2018-04-05 9:47 ` Eli Zaretskii
2018-04-04 23:44 ` Drew Adams
2018-04-05 17:45 ` Achim Gratz
2018-04-05 20:52 ` Stefan Monnier
2018-04-05 21:56 ` Paul Eggert
2018-04-06 6:23 ` Andreas Schwab
2018-04-06 8:11 ` Eli Zaretskii
2018-04-06 12:52 ` Stefan Monnier
2018-04-06 13:15 ` Eli Zaretskii
2018-04-06 13:33 ` Eli Zaretskii
2018-04-06 18:18 ` Stefan Monnier
2018-04-06 18:52 ` Eli Zaretskii
2018-04-06 19:25 ` Stefan Monnier [this message]
2018-04-06 19:45 ` Eli Zaretskii
[not found] ` <<83bmew1mu5.fsf@gnu.org>
2018-04-06 15:52 ` Drew Adams
2018-04-06 17:05 ` Eli Zaretskii
2018-04-07 1:30 ` John Wiegley
2018-04-07 12:24 ` Stefan Monnier
[not found] ` <<83efjs1nnc.fsf@gnu.org>
2018-04-06 15:46 ` Drew Adams
2018-04-07 20:32 ` Juri Linkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvh8oocfn7.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).