Re: performance issue questions

"L. A. Walsh" <[email protected]>
Newsgroups gmane.comp.fonts.fontconfig
Message-ID <[email protected]>
Keith Packard wrote:
> We might as well just stop attempting to automatically manage the caches
> and require that users run fc-cache manually whenever they change the
> set of installed fonts. That would push the whole problem out of
> fontconfig and onto the user or distribution...
>   
---
    That would be preferable, since the user might want to install
100 fonts and then build a cache rather than have it rebuilt with
each font installed.


> Although, I wonder if doing some per-directory locking while scanning
> might not help with this; essentially have one process hold a lock on
> the directory while scanning and make other processes wait for the lock
> to go away (with a timeout).
>   
---
    NOT that it would be idea, but even if one were to stat EVERY
file under /usr/share/fonts, it doesn't take "that long"...
Ishtar:/usr/share/fonts> dropcaches
5.37sec 0.02usr 4.91sys (91.82% cpu)

# w/cold cache for 44k objects:
Ishtar:/usr/share/fonts> time find . -mtime +900000
5.50sec 0.04usr 0.95sys (18.19% cpu)

# w/warm cache: <1s
Ishtar:/usr/share/fonts> time find . |wc
  44251   64142 1277265
0.11sec 0.05usr 0.09sys (130.28% cpu)

Same thing using async io:

Ishtar:/usr/share/fonts> dropcaches                      
0.08sec 0.02usr 0.04sys (73.26% cpu)

Ishtar:/usr/share/fonts> time treescan-aio.pl . |wc
  44251   64142 1277516
1.03sec 0.19usr 0.04sys (23.35% cpu)

Ishtar:/usr/share/fonts> time treescan-aio.pl . |wc
  44251   64142 1277516
0.13sec 0.14usr 0.04sys (137.56% cpu)

That's one reason I asked about updating only the
cache for 1 font, since rather than reconstructing the whole
thing, a simple find cmd could really narrow down the work that
needs to be done.


_______________________________________________
Fontconfig mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/fontconfig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.