[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: scratch/accurate-warning-pos: Some real world timings
From: |
Alan Mackenzie |
Subject: |
Re: scratch/accurate-warning-pos: Some real world timings |
Date: |
Thu, 29 Nov 2018 12:26:02 +0000 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
Hello, Eli.
On Fri, Nov 23, 2018 at 13:09:05 +0000, Alan Mackenzie wrote:
[ .... ]
> The branch scratch/accurate-warning-pos now bootstraps. (It also now
> runs on optimised builds. ;-)
> Its bootstrap is a mere 7.1% slower than master's.
Over the last week or so, there have been some wildly different timings
posted about the slowdown caused by scratch/accurate-warning-pos.
I have measured this on some "real world" situations - actions which
could be or are sluggish in interactive or "semi-batch" operation. Here
are the results:
(i) time-scroll (see below) on the biggest .el file,
.../leim/ja-dic/ja-dic.el. This measures mainly fontification:
o - Slowdown of 4.9% and 5.1%.
(ii) Indenting entire buffer progmodes/cc-engine.el, after having
removed all space in the LH margin:
o - Slowdown of 3.4%
(iii) Indenting entire buffer src/xdisp.c, after having removed all
space in the LH margin:
o - Slowdown of 46%. (This is anomalous, and not yet understood.)
(iv) Indenting first 50% of buffer src/xdisp.c, after having removed all
space in the LH margin:
o - Slowdown of 4%, 7.3%.
(v) Same, but last 50% of src/xdisp.c, ...
o - Slowdown of 10.8%, 9.4%.
(vi) time-scroll, measuring mainly fontification on src/xdisp.c:
o - Slowdown of 3.4%, 3.6%.
These results were measured by the macro time-it:
(defmacro time-it (&rest forms)
"Time the running of a sequence of forms using `float-time'.
Call like this: \"M-: (time-it (foo ...) (bar ...) ...)\"."
`(let ((start (float-time)))
,@forms
(- (float-time) start)))
The first and last of the timings were measured by time-scroll:
(defun time-scroll (&optional arg)
(interactive "P")
(message "%s"
(time-it
(condition-case nil
(while t
(if arg (scroll-down) (scroll-up))
(sit-for 0))
(error nil)))))
CONCLUSION: On the "real world" operations of fontification and
indentation, scratch/accurate-warning-pos is around 3.5% - 10% slower
than master.
- Re: scratch/accurate-warning-pos: Solid progress: the branch now bootstraps., (continued)
- Re: scratch/accurate-warning-pos: Solid progress: the branch now bootstraps., Alan Mackenzie, 2018/11/26
- Re: scratch/accurate-warning-pos: Solid progress: the branch now bootstraps., Paul Eggert, 2018/11/26
- Re: scratch/accurate-warning-pos: Solid progress: the branch now bootstraps., Gemini Lasswell, 2018/11/25
- Re: scratch/accurate-warning-pos: Solid progress: the branch now bootstraps., Stefan Monnier, 2018/11/25
- Re: scratch/accurate-warning-pos: Solid progress: the branch now bootstraps., Alan Mackenzie, 2018/11/26
- Re: scratch/accurate-warning-pos: Solid progress: the branch now bootstraps., Gemini Lasswell, 2018/11/26
- Re: scratch/accurate-warning-pos: Solid progress: the branch now bootstraps., Alan Mackenzie, 2018/11/26
- Re: scratch/accurate-warning-pos: Solid progress: the branch now bootstraps., Alan Mackenzie, 2018/11/26
- Re: scratch/accurate-warning-pos: Some real world timings,
Alan Mackenzie <=