<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - Merge some optimisation works by Michal Srb?"
href="https://bugs.freedesktop.org/show_bug.cgi?id=105102#c8">Comment # 8</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - Merge some optimisation works by Michal Srb?"
href="https://bugs.freedesktop.org/show_bug.cgi?id=105102">bug 105102</a>
from <span class="vcard"><a class="email" href="mailto:jeffbai@aosc.io" title="Mingcong Bai <jeffbai@aosc.io>"> <span class="fn">Mingcong Bai</span></a>
</span></b>
<pre>(In reply to Behdad Esfahbod from <a href="show_bug.cgi?id=105102#c7">comment #7</a>)
<span class="quote">> Here's my take on the optimizations. First a note: KDE's use of
> FcFontMatch() with FC_FILE set is bogus and broken. Ignore that.
>
> * 3.4.1 Rewriting FcFontMatch algorithm
> -> Valid idea. 10% is worth taking.
>
> * 3.4.2 Value preprocessing
> -> Valid concern. It's been on my radar for years. The solution is too
> invasive for my taste. Another approach might be to add new pattern elements
> FC_FAMILY_HASH, etc, that retain the (corresponding type of) hash of the
> string. It will be equally intrusive I'm afraid. But yeah, definitely
> something to pursue and see if better implementation is possible. Definitely
> biggest waste of time in current FontConfig. Side note: if we go all the
> way to keep hashes of family names, we might end up wanting to use a
> hashtable for FcFontMatch...
>
> * 3.4.3 Reducing heap allocations
> -> Not clear that is measurable. But sure, is not intrusive. I'm open to.
>
> * 3.4.4 Refactoring FcStrCaseWalkerNext
> -> Sounds fine. We might not need to triplicate it, maybe just inline that
> function.
>
> * 3.4.5 Micro-optimization in FcCompareValueList
> -> I have a hard time believing the 38% speedup claimed. If it has
> measurable impact, sounds good to me.
>
> * 3.4.6 Reduce FcObjectFromName call amount
> -> Not sure it's worth it; has no measurable impact.
>
> * 3.4.7 Hint branch predictor
> -> Good to take, since it's not intrusive. We do these in other libraries.
>
> Anyway, I wish he had done his work in collaboration with us so we could
> have discussed and integrated this upstream without pain. Thanks for
> bringing up.</span >
Not a problem! At present moment, we are narrowing down the rebase area - in
similar of your logic to include the most important and significant
optimisations. Looking forward to future work on the upstream!
On a side note, I tried to generate a .pot file so we could start working on a
zh_CN translation for Fontconfig... I ended up with no .pot file at all with
the command below...
cd po/ && xgettext --files-from=POTFILES.in --directory=..
--output=messages.pot
If not, when are you expecting translation works to be ready to start?</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>