[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: |
Wed, 2 Mar 2016 23:42:14 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 |
On 03/02/2016 11:12 PM, Clément Pit--Claudel wrote:
> I've removed the dependency on CJK fonts; on my machine, this does
> the trick, provided you have XITS Math and Ubuntu Mono installed:
>
> emacs -Q --eval "(progn (set-fontset-font \"fontset-startup\" 'unicode
> \"Ubuntu Mono\" nil) (set-fontset-font \"fontset-startup\" 'unicode \"XITS
> Math\" nil 'append) (dotimes (_ 500) (insert (make-string 20 8658) \"\n\")))"
>
> Scrolling around this buffer is horribly slow.
Here's the few lines of a profile (full profile attached):
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls s/call s/call name
69.14 6.61 6.61 deliver_user_signal
2.30 6.83 0.22 291 0.00 0.00 _init
2.09 7.03 0.20 2446268 0.00 0.00 hash_lookup
1.78 7.20 0.17 1109458 0.00 0.00 xfont_list_pattern
1.36 7.33 0.13 7538722 0.00 0.00 char_table_ref
1.36 7.46 0.13 2220018 0.00 0.00 ftfont_lookup_cache
1.15 7.57 0.11 2774417 0.00 0.00 Fcompare_strings
1.05 7.67 0.10 2778892 0.00 0.00 Fnreverse
1.05 7.77 0.10 11525665 0.00 0.00 mark_object
0.94 7.86 0.09 33105673 0.00 0.00 sub_char_table_ref
compare with this (with the aforementioned commit reverted):
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
6.48 0.07 0.07 5576010 0.00 0.00 mark_object
6.48 0.14 0.07 4987260 0.00 0.00 char_table_ref
6.48 0.21 0.07 deliver_user_signal
5.56 0.27 0.06 12938424 0.00 0.00 sub_char_table_ref
5.09 0.33 0.06 1407350 0.00 0.00 Fassq
3.70 0.37 0.04 54802 0.00 0.00
face_before_or_after_it_pos
1.85 0.39 0.02 1232573 0.00 0.00 lookup_char_property
1.85 0.41 0.02 954743 0.00 0.00 Fcons
1.85 0.43 0.02 723140 0.00 0.00 find_interval
1.85 0.45 0.02 505158 0.00 0.00 hash_lookup
1.85 0.47 0.02 497590 0.00 0.00
bidi_level_of_next_char
1.85 0.49 0.02 497590 0.00 0.00
bidi_move_to_visually_next
I've attached the two profiles. Does this make any sense?
Clément.
fast-trace-with-reverted-commit
Description: Text document
slow-trace-with-plain-emacs
Description: Text document
signature.asc
Description: OpenPGP digital signature