|
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 particularSounds 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
[Prev in Thread] | Current Thread | [Next in Thread] |