[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.

reply via email to

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