[Fontconfig] Application startup performance

Nick Alcock nick.alcock at oracle.com
Tue Mar 15 14:10:19 UTC 2016

On 15 Mar 2016, Raimund Steger outgrape:

> On Sun, 13 Mar 2016 13:40:41 -0700
> Behdad Esfahbod <behdad at behdad.org> wrote:
>> [...]
>> There are four usecases we need to consider:
>>   - Normal Linux / other Unix-like.  We can assume high-precision
>> timestamps are available and take care of stuff,
>>   - Linux / Unix-like system with network file system.  Any issues there
>> with your proposed patch?
> NFSv3 spec has nanoseconds, but I think server support is optional.
> I'll do some research what kind of support currently is out there. The
> implementations I'm using here seem to support it. Even if not, there
> might be little choice, as the stat penalty is most severe with NFS
> and 2.11 behavior is more acceptable IMHO.

Really? I was seeing multiple second startup penalties caused by all
those stats before I patched fontconfig to stop doing them. Any given
stat isn't that expensive, but thousands of them, all necessarily
synchronous, mean thousands of instances of network roundtrip lag...
noticeable even on uncontended GbE.

The stats on the *directories* are cheap, but if fontconfig erroneously
concludes that it has to re-stat everything, and you have thousands of

NULL && (void)

More information about the Fontconfig mailing list