From: "Lennart Borgman" <lennart.borgman@gmail.com>
To: "Eli Zaretskii" <eliz@gnu.org>
Cc: acm@muc.de, emacs-devel@gnu.org, monnier@iro.umontreal.ca,
David De La Harpe Golden <david@harpegolden.net>
Subject: Re: Emacs 23.0 is much slower starting than Emacs 22.3
Date: Fri, 24 Oct 2008 00:33:01 +0200 [thread overview]
Message-ID: <e01d8a50810231533w30464c96w580144d2eb6d749b@mail.gmail.com> (raw)
In-Reply-To: <uk5bzx9m6.fsf@gnu.org>
On Thu, Oct 23, 2008 at 11:52 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> Date: Thu, 23 Oct 2008 17:57:29 +0100
>> From: David De La Harpe Golden <david@harpegolden.net>
>> Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
>>
>> I tried just putting 180 find-file-noselects in a file and loading it
>> i.e.
>>
>> $ find /usr/local/src/emacs -name '*.c' -printf \
>> '(find-file-noselect "%p")\n' >fftest.el
>> $ emacs --batch --eval '(byte-compile-file "fftest.el")'
>> $ time emacs -l fftest.elc -f kill-emacs
>>
>> emacs run real user sys
>> 22 1 4.523 3.888 0.136
>> 22 2 4.744 4.172 0.112
>> 22 3 4.457 3.836 0.176
>> 23 4 7.177 6.532 0.152
>> 23 5 7.198 6.544 0.160
>> 23 6 7.159 6.472 0.220
>>
>>
>> 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.
I did a fast test using something as simple as this:
(defun test-insert-dir (dir literally)
(let ((files (directory-files dir t)))
(dolist (file files)
(unless (file-directory-p file)
(with-temp-buffer
(if literally
(insert-file-contents-literally file)
(insert-file-contents file)))))))
(defun test-insert-emacs-lisp-dir ()
(benchmark 1 '(test-insert-dir "c:/emacs/u/070103/emacs/lisp/" nil))
(message "======================= After cache warm up")
(message "Timing insert-file-contents-literally:")
(benchmark 1 '(test-insert-dir "c:/emacs/u/070103/emacs/lisp/" t))
(benchmark 1 '(test-insert-dir "c:/emacs/u/070103/emacs/lisp/" t))
(benchmark 1 '(test-insert-dir "c:/emacs/u/070103/emacs/lisp/" t))
(message "Timing insert-file-contents:")
(benchmark 1 '(test-insert-dir "c:/emacs/u/070103/emacs/lisp/" nil))
(benchmark 1 '(test-insert-dir "c:/emacs/u/070103/emacs/lisp/" nil))
(benchmark 1 '(test-insert-dir "c:/emacs/u/070103/emacs/lisp/" nil))
(message "Ready"))
The output was
======================= After cache warm up
Timing insert-file-contents-literally:
Elapsed time: 5.531000s (0.094000s in 1 GCs)
Elapsed time: 5.594000s
Elapsed time: 5.828000s (0.093000s in 1 GCs)
Timing insert-file-contents:
Elapsed time: 9.484000s (0.188000s in 2 GCs)
Elapsed time: 8.922000s (0.188000s in 2 GCs)
Elapsed time: 8.953000s (0.203000s in 2 GCs)
next prev parent reply other threads:[~2008-10-23 22:33 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 [this message]
2008-10-24 9:26 ` Eli Zaretskii
2008-10-23 22:47 ` David De La Harpe Golden
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=e01d8a50810231533w30464c96w580144d2eb6d749b@mail.gmail.com \
--to=lennart.borgman@gmail.com \
--cc=acm@muc.de \
--cc=david@harpegolden.net \
--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.