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: Thu, 3 Mar 2016 00:08:38 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1

On 03/02/2016 11:42 PM, Clément Pit--Claudel wrote:
> 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):

Sorry, this was the wrong profile. Here's the profile with a snappy emacs, 
after reverting the commit above

Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls   s/call   s/call  name    
 16.93      0.54     0.54 14252708     0.00     0.00  internal_equal
 10.66      0.88     0.34  7672938     0.00     0.00  Fnreverse
  9.56      1.19     0.31 27776580     0.00     0.00  mark_object
  8.46      1.46     0.27  6640124     0.00     0.00  hash_lookup
  2.51      1.54     0.08  6134442     0.00     0.00  ftfont_lookup_cache
  2.19      1.61     0.07  3072176     0.00     0.00  casify_object
  2.19      1.68     0.07     8818     0.00     0.00  mark_char_table
  1.88      1.74     0.06 12567953     0.00     0.00  sub_char_table_ref
  1.88      1.80     0.06  1409718     0.00     0.00  Fassq
  1.88      1.86     0.06  1533134     0.00     0.00  font_list_entities
  1.57      1.91     0.05  6195131     0.00     0.00  assq_no_quit
  1.57      1.96     0.05  1533134     0.00     0.00  font_sort_entities
  1.57      2.01     0.05     3644     0.00     0.00  _init

I've reattached both profiles.

Thanks,
Clément.

Attachment: slow-trace-with-plain-emacs
Description: Text document

Attachment: fast-trace-with-reverted-commit
Description: Text document

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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