all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Something has sped up desktop.  :-)
@ 2018-01-23 19:41 Alan Mackenzie
  2018-01-23 20:05 ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Mackenzie @ 2018-01-23 19:41 UTC (permalink / raw)
  To: emacs-devel

Hello, Emacs.

Yes, in the recent pretest for Emacs 26, my desktop loads in ~5 seconds.
In Emacs 25.3, it's taking 22 seconds.  Other things are equal.

I'm not complaining, but I'm curious - what has occasioned this speed
up?  I've compared the two pertinent desktop.el files and can't spot any
difference which would explain the speed up.  I don't seem to be setting
any variables in a version dependent fashion.

So, how come desktop is now so much faster than it was?

-- 
Alan Mackenzie (Nuremberg, Germany).



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Something has sped up desktop.  :-)
  2018-01-23 19:41 Something has sped up desktop. :-) Alan Mackenzie
@ 2018-01-23 20:05 ` Eli Zaretskii
  2018-01-23 20:47   ` Alan Mackenzie
  0 siblings, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2018-01-23 20:05 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: emacs-devel

> Date: Tue, 23 Jan 2018 19:41:21 +0000
> From: Alan Mackenzie <acm@muc.de>
> 
> So, how come desktop is now so much faster than it was?

Profile it, then we will know.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Something has sped up desktop.  :-)
  2018-01-23 20:05 ` Eli Zaretskii
@ 2018-01-23 20:47   ` Alan Mackenzie
  2018-01-24 19:37     ` Stefan Monnier
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Mackenzie @ 2018-01-23 20:47 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Hello, Eli.

On Tue, Jan 23, 2018 at 22:05:00 +0200, Eli Zaretskii wrote:
> > Date: Tue, 23 Jan 2018 19:41:21 +0000
> > From: Alan Mackenzie <acm@muc.de>

> > So, how come desktop is now so much faster than it was?

> Profile it, then we will know.

After examining the result of profiler-report (which shed no light on
the speed up, but suggested functions to examine):

With (elp-instrument-package "desktop-")
(elp-instrument-function 'find-file-noselect)
(elp-instrument-function 'find-file-noselect-1)

I got
(in Emacs 25.3):
desktop-read                    1           13.248979429  13.248979429
desktop-create-buffer           315         13.205279113  0.0419215209
desktop-restore-file-buffer     309         11.734947750  0.0379771771
find-file-noselect              309         11.717252634  0.0379199114 <==========
find-file-noselect-1            309         11.308377736  0.0365966917 <==========
desktop-load-file               897         0.2864683340  0.0003193626
desktop-claim-lock              1           0.03431397    0.03431397
desktop-auto-save-set-timer     5           5.2026e-05    1.04052e-05
desktop-full-file-name          4           2.9286e-05    7.3215e-06
desktop-owner                   1           1.6671e-05    1.6671e-05
desktop-full-lock-name          2           1.2353e-05    6.1765e-06
desktop-list*                   1           1.0389e-05    1.0389e-05
desktop-save-mode               1           9.348e-06     9.348e-06
desktop-auto-save-cancel-timer  6           7.935...e-06  1.322...e-06
desktop-auto-save-enable        2           4.168e-06     2.084e-06
desktop-auto-save-disable       1           2.324e-06     2.324e-06
desktop-restoring-frameset-p    3           1.453...e-06  4.843...e-07
desktop-restore-frameset        1           1.443e-06     1.443e-06
desktop-lazy-abort              1           2.8e-07       2.8e-07

(and in Emacs 26.0.91):
desktop-read                    1           4.993224913   4.993224913
desktop-create-buffer           315         4.9612332350  0.0157499467
desktop-restore-file-buffer     309         3.5642595339  0.0115348204
find-file-noselect              309         3.4490214970  0.0111618818 <==========
find-file-noselect-1            309         2.9180459170  0.0094435142 <==========
desktop-load-file               897         0.2635534279  0.0002938165
desktop-claim-lock              1           0.023274371   0.023274371
desktop-full-lock-name          2           2.8944e-05    1.4472e-05
desktop-full-file-name          4           2.7863e-05    6.96575e-06
desktop-owner                   1           1.7113e-05    1.7113e-05
desktop-save-mode               1           1.3145e-05    1.3145e-05
desktop-auto-save-set-timer     1           1.08e-05      1.08e-05
desktop-list*                   1           1.0099e-05    1.0099e-05
desktop-auto-save-enable        2           4.81e-06      2.405e-06
desktop-auto-save-disable       1           3.015e-06     3.015e-06
desktop-restore-frameset        1           1.522e-06     1.522e-06
desktop-restoring-frameset-p    3           1.483e-06     4.943...e-07
desktop-auto-save-cancel-timer  2           1.153e-06     5.765e-07
desktop-lazy-abort              1           3.61e-07      3.61e-07

.  So, as a preliminary result, find-file-noselect is appreciably
faster.

-- 
Alan Mackenzie (Nuremberg, Germany).



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Something has sped up desktop.  :-)
  2018-01-23 20:47   ` Alan Mackenzie
@ 2018-01-24 19:37     ` Stefan Monnier
  2018-01-24 21:41       ` Alan Mackenzie
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier @ 2018-01-24 19:37 UTC (permalink / raw)
  To: emacs-devel

> (in Emacs 25.3):
> find-file-noselect-1            309         11.308377736  0.0365966917 <==========

> (and in Emacs 26.0.91):
> find-file-noselect-1            309         2.9180459170  0.0094435142 <==========

Hmmm, so find-file-noselect-1 got a lot faster.
Can you compare the `profiler-report' between those two versions,
focusing on the part under find-file-noselect-1?

And do you happen to know if Emacs-24's performance in this respect was
more like Emacs-25's or more like Emacs-26's?


        Stefan




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Something has sped up desktop.  :-)
  2018-01-24 19:37     ` Stefan Monnier
@ 2018-01-24 21:41       ` Alan Mackenzie
  0 siblings, 0 replies; 5+ messages in thread
From: Alan Mackenzie @ 2018-01-24 21:41 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Kaushal Modi, Daniel Colascione, emacs-devel

Hello, Stefan.

On Wed, Jan 24, 2018 at 14:37:50 -0500, Stefan Monnier wrote:
> > (in Emacs 25.3):
> > find-file-noselect-1            309         11.308377736  0.0365966917 <==========

> > (and in Emacs 26.0.91):
> > find-file-noselect-1            309         2.9180459170  0.0094435142 <==========

> Hmmm, so find-file-noselect-1 got a lot faster.
> Can you compare the `profiler-report' between those two versions,
> focusing on the part under find-file-noselect-1?

> And do you happen to know if Emacs-24's performance in this respect was
> more like Emacs-25's or more like Emacs-26's?

I've tracked down where the speedups have come from.

Mainly I was getting a 1 second (sit-for 1) every time a loaded file had
autosave-data, because find-file-noselect-1 is programmed to pause that
second on a warning message.  That was taken out by Kaushal Modi on
2016-07-22.  Thanks, Kaushal!

I've also been saved ~3 seconds loading files under Mercurial because of
Daniel Colascione's optimisation from 2016-02-08.  Thanks Daniel!

>         Stefan

-- 
Alan Mackenzie (Nuremberg, Germany).



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-01-24 21:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-23 19:41 Something has sped up desktop. :-) Alan Mackenzie
2018-01-23 20:05 ` Eli Zaretskii
2018-01-23 20:47   ` Alan Mackenzie
2018-01-24 19:37     ` Stefan Monnier
2018-01-24 21:41       ` Alan Mackenzie

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.