From: David De La Harpe Golden <david@harpegolden.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: acm@muc.de, monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: Emacs 23.0 is much slower starting than Emacs 22.3
Date: Thu, 23 Oct 2008 23:47:51 +0100 [thread overview]
Message-ID: <4900FF17.2000203@harpegolden.net> (raw)
In-Reply-To: <uk5bzx9m6.fsf@gnu.org>
Eli Zaretskii wrote:
>> So FWIW probably the problem is in the find-file call path rather than
>> anything desktop.el is doing in particular
>
> Sounds plausible. Next question: is the slow-down connected in any
> way with decoding the buffer? To see if this is a factor, you could
> compare 180 calls to insert-file-contents with the same number of
> calls to insert-file-contents-literally, in both Emacs 22 and 23.
>
> TIA
Haven't got to that that - however, insert-file-contents may only
account for < 10% of the total time spent in find-file-noselect-1, at
least according to the elp profiler. Though it may not work right at all
on C functions? (note doubled call count) - However, I then wrapped the
insert-file-contents call in find-file-noselect-1 in an elisp helper
function (find-file-noselect-1-h below) and got a quasi-consistent
figure for it, see [1] below for results, suggesting it may really be
that small?
[Aside: Also turns out upping gc-cons-threshold shaves 2 secs off that 7
sec time for 180 files. Just maybe opening a bunch of files one after
the other causes the memory usage to grow rapidly, causing the gc to
kick in... so that's one, though probably fairly necessary, slowdown]
[1] (n.b. this was without upped gc-cons-threshold)
Function Name CallCt ElapsedTime AverageTime
find-file-noselect 180 5.4325150000 0.0301806388
find-file-noselect-1 180 4.4660830000 0.0248115722
insert-file-contents 361 0.3358580000 0.0009303545
find-file-noselect-1-h 180 0.3062349999 0.0017013055
make-local-variable 10477 0.0153409999 1.464...e-06
abbreviate-file-name 730 0.0095040000 1.301...e-05
kill-buffer 185 0.0034050000 1.840...e-05
kill-local-variable 1084 0.0008220000 7.583...e-07
normal-backup-enable-predicate 180 0.0006289999 3.494...e-06
erase-buffer 361 0.0003230000 8.947...e-07
set-buffer-multibyte 181 0.0001579999 8.729...e-07
[2[ gc-cons-threshold to 1G
find-file-noselect 180 3.2771109999 0.0182061722
find-file-noselect-1 180 2.5760030000 0.0143111277
insert-file-contents 361 0.3392750000 0.0009398199
find-file-noselect-1-h 180 0.3094899999 0.0017193888
make-local-variable 10477 0.0170539999 1.627...e-06
abbreviate-file-name 730 0.0157539999 2.158...e-05
kill-buffer 185 0.0047130000 2.547...e-05
kill-local-variable 1084 0.0008650000 7.979...e-07
normal-backup-enable-predicate 180 0.0007309999 4.061...e-06
erase-buffer 361 0.0003520000 9.750...e-07
set-buffer-multibyte 181 0.0001799999 9.944...e-07
next prev parent reply other threads:[~2008-10-23 22:47 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-22 9:11 Emacs 23.0 is much slower starting than Emacs 22.3 Alan Mackenzie
2008-10-22 13:23 ` Stefan Monnier
2008-10-22 13:55 ` John covici
2008-10-22 15:14 ` Alan Mackenzie
2008-10-22 16:46 ` David De La Harpe Golden
2008-10-22 21:12 ` Alan Mackenzie
2008-10-22 21:19 ` Eli Zaretskii
2008-10-23 9:21 ` Alan Mackenzie
2008-10-23 21:53 ` Eli Zaretskii
2008-10-23 6:53 ` David De La Harpe Golden
2008-10-23 9:09 ` Alan Mackenzie
2008-10-23 16:57 ` David De La Harpe Golden
2008-10-23 21:52 ` Eli Zaretskii
2008-10-23 22:33 ` Lennart Borgman
2008-10-24 9:26 ` Eli Zaretskii
2008-10-23 22:47 ` David De La Harpe Golden [this message]
2008-10-23 23:12 ` Lennart Borgman
2008-10-23 23:54 ` Lennart Borgman
2008-10-24 9:51 ` Eli Zaretskii
2008-10-24 13:58 ` David De La Harpe Golden
2008-10-24 15:44 ` Lennart Borgman
2008-10-24 16:24 ` Chong Yidong
2008-10-24 16:48 ` Eli Zaretskii
2008-10-24 16:45 ` David De La Harpe Golden
2008-10-24 16:53 ` Eli Zaretskii
2008-10-25 2:01 ` Richard M. Stallman
2008-10-25 3:38 ` David De La Harpe Golden
2008-10-24 0:13 ` David De La Harpe Golden
2008-10-24 0:59 ` Lennart Borgman
2008-10-24 1:58 ` David De La Harpe Golden
2008-10-24 1:44 ` David De La Harpe Golden
2008-10-24 9:57 ` Eli Zaretskii
2008-10-24 15:00 ` David De La Harpe Golden
2008-10-24 11:21 ` Alan Mackenzie
2008-10-24 14:32 ` David De La Harpe Golden
2008-10-24 19:28 ` Alan Mackenzie
2008-10-24 19:35 ` David De La Harpe Golden
2008-10-24 4:13 ` Stefan Monnier
2008-10-24 15:19 ` David De La Harpe Golden
2008-10-24 18:42 ` Stefan Monnier
2008-10-24 19:36 ` David De La Harpe Golden
2008-10-24 23:44 ` David De La Harpe Golden
2008-10-25 15:19 ` Stefan Monnier
2008-10-25 17:02 ` David De La Harpe Golden
2008-10-24 9:52 ` Eli Zaretskii
2008-10-24 9:35 ` Eli Zaretskii
2008-10-24 9:30 ` Eli Zaretskii
2008-10-23 1:29 ` Miles Bader
2008-10-23 9:06 ` Alan Mackenzie
2008-10-22 18:26 ` Eli Zaretskii
2008-10-22 21:40 ` Alan Mackenzie
2008-10-22 22:09 ` Eli Zaretskii
2008-10-22 21:02 ` Richard M. Stallman
2008-10-24 11:59 ` Emacs 23.0 is much slower than Emacs 22.3. Maybe it's the garbage collector Alan Mackenzie
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4900FF17.2000203@harpegolden.net \
--to=david@harpegolden.net \
--cc=acm@muc.de \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.