[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Low redisplay performance (23 regression)
From: |
Chong Yidong |
Subject: |
Re: Low redisplay performance (23 regression) |
Date: |
Wed, 29 Apr 2009 23:49:43 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.91 (gnu/linux) |
YAMAMOTO Mitsuharu <address@hidden> writes:
>> I think the problem is that lookup_basic_face computes the remapped
>> face_id in an expensive way. It needs to do some caching.
>
> Some profiling results show that many Lisp objects are constructed in
> font_clear_prop, and that causes frequent GC triggered by Lisp
> evaluations in redisplay such as mode/header-line calculation. That
> would also explain why the OP doesn't observe the slowness on Emacs 22
> with backported face remapping.
That's surprising. I have experimented with making font_clear_prop
overwrite font specs instead of allocating new ones, when possible.
However, this does not seem to improve performance (I do not intend to
change this for 23.1). I think the fundamental problem does not lie in
font_clear_prop, but in the fact that the face remapping code's
lookup_basic_face function calls lookup_named_face -> merge_face_vectors
far too often.
Re: Low redisplay performance (23 regression), Tassilo Horn, 2009/04/29
Re: Low redisplay performance (23 regression), Chong Yidong, 2009/04/29
Re: Low redisplay performance (23 regression), YAMAMOTO Mitsuharu, 2009/04/29
Re: Low redisplay performance (23 regression),
Chong Yidong <=
Re: Low redisplay performance (23 regression), YAMAMOTO Mitsuharu, 2009/04/30
Re: Low redisplay performance (23 regression), Miles Bader, 2009/04/29
Re: Low redisplay performance (23 regression), Chong Yidong, 2009/04/30
Re: Low redisplay performance (23 regression), Tobias C. Rittweiler, 2009/04/30
Re: Low redisplay performance (23 regression), Tassilo Horn, 2009/04/30
Re: Low redisplay performance (23 regression), David Reitter, 2009/04/30
Re: Low redisplay performance (23 regression), Dan Nicolaescu, 2009/04/29