[Fontconfig] commit: drastic fontconfig speedups
mclasen at redhat.com
Mon Nov 28 22:20:10 PST 2005
On Tue, 2005-11-29 at 01:13 -0500, Patrick Lam wrote:
> Matthias Clasen wrote:
> > On Tue, 2005-11-29 at 00:19 -0500, Patrick Lam wrote:
> >>Matthias Clasen wrote:
> >>>The globs change clearly has a big effect. The results of
> >>>fc-list | wc -l on my system are as follows:
> >>>cvs20051119: 143
> >>>before globs change: 148
> >>>current cvs: 0
> >>Hmm, there shouldn't be a difference between before globs change and
> >>cvs20051119. However, 0 is a number I'm not reproducing. Can you check
> >>your config and try rebuilding your caches?
> > I just rebuilt my caches with fc-cache from current cvs, and fc-cat
> > lists the contents of the cache files as expected. Still, fc-list comes
> > up empty.
> For no good reason I had at one point 0 fonts as well. However, I've
> updated current CVS with a couple of changes, using a more stable API to
> get the font filenames. Unfortunately, this is going to hurt the perf
> of FcInit. Anyway, I think that the code is now actually correct, and
> seems to work fine for me at least. Rebuilding caches doesn't seem to
> help, but recompiling everything might help.
> Globs now check both the full filename and the pathname to see whether
> or not they belong to a rejection glob. This can actually be greatly
> sped up, come to think of it. The per-directory rejection glob only
> needs to be done once per cache directory. Unfortunately, the full
> filename still has to be checked; I don't really see a clean way around
> that. I'll do the per-directory optimization momentarily; consider it
> Please tell me about how fc-list behaves for you after this change. (I
> also compiled with -O0 -g, but that *shouldn't* make a difference.
> Perhaps the make clean did.)
Seems to work fine now, thanks. I'll push a cvs snapshot into rawhide
tomorrow, for some wider testing.
More information about the Fontconfig