[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
reducing equality tests in displaying text
From: |
YAMAMOTO Mitsuharu |
Subject: |
reducing equality tests in displaying text |
Date: |
Fri, 23 Jan 2009 11:23:00 +0900 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) |
I experimented with some performance tool and noticed that there were
frequent equality tests in displaying text. I think most of them can
safely be reduced.
1. Each call of assoc_no_quit (charset,_encoding_charset_alist) in
fontset.c can be replaced with assq_no_quit because
Vfont_encoding_charset_alist is a symbol-keyed alist.
2. Also in fontset.c:
472 if (c >= 0)
473 font_group = char_table_ref_and_range (base_fontset, c, &from, &to);
474 else
475 font_group = FONTSET_FALLBACK (base_fontset);
476 if (NILP (font_group))
477 return Qnil;
If `font_group' becomes Qnil in line 473, `from' and `to' are not
used at all. So the most of the task of char_table_ref_and_range
is wasted for this case. Because font_group == Qnil case happens
frequently, the char_table_ref_and_range call should be avoided for
this case.
3. Despite its argument name, `has_char' functions in font backend
drivers are mostly called for a font object instead of a font
entity. Some font backend drivers could make use of this fact:
e.g., ftfont_has_char can avoid frequent assoc_no_quit calls if
struct ft_font has a reference to fc_charset in ft_face_cache.
BTW, I suspect Ffontset_font is broken. I couldn't get any meaningful
result from (fontset-font t ?a), for example.
YAMAMOTO Mitsuharu
address@hidden
- reducing equality tests in displaying text,
YAMAMOTO Mitsuharu <=
- Re: reducing equality tests in displaying text, Kenichi Handa, 2009/01/27
- Re: reducing equality tests in displaying text, YAMAMOTO Mitsuharu, 2009/01/27
- Re: reducing equality tests in displaying text, Kenichi Handa, 2009/01/28
- Re: reducing equality tests in displaying text, YAMAMOTO Mitsuharu, 2009/01/28
- Re: reducing equality tests in displaying text, Kenichi Handa, 2009/01/28
- Re: reducing equality tests in displaying text, YAMAMOTO Mitsuharu, 2009/01/28
- Re: reducing equality tests in displaying text, Kenichi Handa, 2009/01/28
- Re: reducing equality tests in displaying text, Jason Rumney, 2009/01/28
- Re: reducing equality tests in displaying text, Kenichi Handa, 2009/01/28