emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs 23.0 is much slower starting than Emacs 22.3


From: David De La Harpe Golden
Subject: Re: Emacs 23.0 is much slower starting than Emacs 22.3
Date: Thu, 23 Oct 2008 23:47:51 +0100
User-agent: Mozilla-Thunderbird 2.0.0.17 (X11/20081018)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]