bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#21028: Performance regression in revision af1a69f4d17a482c359d98c00e


From: Clément Pit--Claudel
Subject: bug#21028: Performance regression in revision af1a69f4d17a482c359d98c00ef86fac835b5fac (Apr 2014).
Date: Sun, 12 Mar 2017 15:19:48 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0

On 2017-03-12 13:48, Eli Zaretskii wrote:
> So you are saying that this:
> 
>   $ time src/emacs -Q --eval "(progn (set-fontset-font \"fontset-startup\" 
> 'unicode \"Ubuntu Mono\" nil) (set-fontset-font \"fontset-startup\" 'unicode 
> \"Symbola\" nil 'append) (dotimes (_ 500) (insert (make-string 20 8658) 
> \"\n\") (run-with-idle-timer 0 nil #'kill-emacs)))"
> 
> takes about 1.5 sec on your system, is that right?  (Note that I
> replaced XITS Math with Symbola here.)

Correct.  Here are extra timings:

# 24.3: before revision af1a69f4d17a482c359d98c00ef86fac835b5fac
$ time 24.3/src/emacs -Q --eval "(progn (set-fontset-font \"fontset-startup\" 
'unicode \"Ubuntu Mono\" nil) (set-fontset-font \"fontset-startup\" 'unicode 
\"Symbola\" nil 'append) (dotimes (_ 500) (insert (make-string 20 8658) \"\n\") 
(run-with-idle-timer 0 nil #'kill-emacs)))"
real    0m0.451s
user    0m0.236s
sys     0m0.028s

# 24.5: slow
$ time 24.5/src/emacs -Q --eval "(progn (set-fontset-font \"fontset-startup\" 
'unicode \"Ubuntu Mono\" nil) (set-fontset-font \"fontset-startup\" 'unicode 
\"Symbola\" nil 'append) (dotimes (_ 500) (insert (make-string 20 8658) \"\n\") 
(run-with-idle-timer 0 nil #'kill-emacs)))"
real    0m1.305s
user    0m0.444s
sys     0m0.192s

# 25.1: slow
$ time 25.1/src/emacs -Q --eval "(progn (set-fontset-font \"fontset-startup\" 
'unicode \"Ubuntu Mono\" nil) (set-fontset-font \"fontset-startup\" 'unicode 
\"Symbola\" nil 'append) (dotimes (_ 500) (insert (make-string 20 8658) \"\n\") 
(run-with-idle-timer 0 nil #'kill-emacs)))"
real    0m1.495s
user    0m0.508s
sys     0m0.240s

# master with your patches: fast
$ time master/src/emacs -Q --eval "(progn (set-fontset-font \"fontset-startup\" 
'unicode \"Ubuntu Mono\" nil) (set-fontset-font \"fontset-startup\" 'unicode 
\"Symbola\" nil 'append) (dotimes (_ 500) (insert (make-string 20 8658) \"\n\") 
(run-with-idle-timer 0 nil #'kill-emacs)))"
real    0m0.364s
user    0m0.216s
sys     0m0.020s

> If so, is the Ubuntu Mono part necessary for reproducing the slow display,
> i.e. if you remove that part, do you still get 1.5 sec?

The Ubuntu Mono part is necessary: here are timings:

# With Ubuntu Mono: slow
$ time 24.5/src/emacs -Q --eval "(progn (set-fontset-font \"fontset-startup\" 
'unicode \"Ubuntu Mono\" nil) (set-fontset-font \"fontset-startup\" 'unicode 
\"Symbola\" nil 'append) (dotimes (_ 500) (insert (make-string 20 8658) \"\n\") 
(run-with-idle-timer 0 nil #'kill-emacs)))"
real    0m1.312s
user    0m0.440s
sys     0m0.184s

# With just Symbola added: fast (C-u C-x = shows that Symbola is used)
$ time 24.5/src/emacs -Q --eval "(progn (set-fontset-font \"fontset-startup\" 
'unicode \"Symbola\" nil 'append) (dotimes (_ 500) (insert (make-string 20 
8658) \"\n\") (run-with-idle-timer 0 nil #'kill-emacs)))"
real    0m0.358s
user    0m0.212s
sys     0m0.032s

It doesn't need to be specifically Ubuntu Mono, though:

# With Noto Sans: slow
$ time 24.5/src/emacs -Q --eval "(progn (set-fontset-font \"fontset-startup\" 
'unicode \"Noto Sans\" nil) (set-fontset-font \"fontset-startup\" 'unicode 
\"Symbola\" nil 'append) (dotimes (_ 500) (insert (make-string 20 8658) \"\n\") 
(run-with-idle-timer 0 nil #'kill-emacs)))"

real    0m1.593s
user    0m0.504s
sys     0m0.236s

# With Fira Sans: slow
$ time 24.5/src/emacs -Q --eval "(progn (set-fontset-font \"fontset-startup\" 
'unicode \"Fira Sans\" nil) (set-fontset-font \"fontset-startup\" 'unicode 
\"Symbola\" nil 'append) (dotimes (_ 500) (insert (make-string 20 8658) \"\n\") 
(run-with-idle-timer 0 nil #'kill-emacs)))"

real    0m1.511s
user    0m0.520s
sys     0m0.248s

Hope this helps,
Clément.

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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