[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: |
Sat, 18 Jul 2015 03:24:02 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 |
On 07/15/2015 05:32 AM, Dmitry Antipov wrote:
> On 07/10/2015 07:55 PM, Clément Pit--Claudel wrote:
>
>> The figures are very similar to the tests above: with that patch inserting
>> 50 lines takes 3 seconds,
>> and without it it's instantaneous. Thus I think it's safe to say that this
>> particular patch is indeed
>> responsible for the performance regression. But maybe I'm missing something?
>
> As of c40ea1328bb33abaec14f1fc92ac2349b5ee2715, I can't reproduce this issue,
> with your fontset setup
> from http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21028#17. Cursor motion and
> keyboard/mouse selection
> are smooth, and CPU/memory usage looks normal.
Thanks for trying this out. Thanks for your suggestions, too.
> My suggestions are:
>
> 1) Re-run your timed tests from
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21028#20 under /usr/bin/time,
> not time (the latter is a simple shell builtin). /usr/bin/time also shows
> memory usage; if "bad" (current)
> instance consumes more memory than "good" (with reverted change) one, there
> may be nasty GC issue.
The timings are similar:
$ /usr/bin/time emacs-bad/src/emacs -Q --eval "(progn (dotimes (_ 3)
(set-fontset-font t 'unicode (font-spec :name \"Arial\") nil 'append)) (dotimes
(_ 500) (insert \"日本国\n\")) (dotimes (_ 500) (previous-line) (redisplay t))
(kill-emacs))"
13.31user 8.57system 0:34.54elapsed 63%CPU (0avgtext+0avgdata 50592maxresident)k
0inputs+0outputs (0major+4958minor)pagefaults 0swaps
$ /usr/bin/time emacs-good/src/emacs -Q --eval "(progn (dotimes (_ 3)
(set-fontset-font t 'unicode (font-spec :name \"Arial\") nil 'append)) (dotimes
(_ 500) (insert \"日本国\n\")) (dotimes (_ 500) (previous-line) (redisplay t))
(kill-emacs))"
0.58user 0.03system 0:01.05elapsed 58%CPU (0avgtext+0avgdata 50392maxresident)k
29840inputs+0outputs (105major+4911minor)pagefaults 0swaps
> 2) 3 seconds is large enough to leave the traces in profiled runs. On
> GNU/Linux, it may be worth trying
> to run under perf, both "good" and "bad" cases, and comparing reports.
I have attached the reports in the good and bad cases (200c532 and af1a69f
respectively). I'm not sure what to conclude from them; I can provide the full
trace data if needed.
Clément.
bad-report
Description: Text document
good-report
Description: Text document
signature.asc
Description: OpenPGP digital signature
bug#21028: Performance regression in revision af1a69f4d17a482c359d98c00ef86fac835b5fac (Apr 2014)., Glenn Morris, 2015/07/10