[Fontconfig] fontconfig: Branch 'master' - 2 commits
Behdad Esfahbod
behdad at behdad.org
Tue Mar 3 16:08:29 PST 2015
On 15-03-03 03:56 PM, Raimund Steger wrote:
> On 02/27/15 07:57, Akira TAGOH wrote:
>> [...]
>> diff --git a/fc-blanks/fc-blanks.py b/fc-blanks/fc-blanks.py
>> [...]
>> +fp =
>> urllib2.urlopen('http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[%3AGC%3DZs%3A][%3ADI%3A]&abb=on&ucd=on&esc=on&g')
>>
>
> 4191 codepoints?
>
> Before it was more like 60...
Most of the new ones are blocks of unassigned codepoints.
> 'fc-cache -f' now spends 100x more time in FcBlanksIsMember, which makes for
> several seconds difference on some of my boxes. In the profiler:
Yeah, because currently it's stored as a list of codepoints, which is very
inefficient. Worse, FcBlanksIsMember does a linear search...
I'm personally in support of killing configurable blanks completely. This is
very close to that. Let me improve the storage and implement bsearch...
> ---8<---------------------------------------------
>
> sun3:fontconfig)collect fc-cache -f
> Creating experiment database test.2.er ...
> sun3:fontconfig)er_print -calltree test.2.er
> Functions Call Tree. Metric: Attributed User CPU Time
>
> Attr. Name
> User CPU
> sec.
> 19.604 +-<Total>
> [...]
> 0.030 | | | | | | | | | | +-FcBlanksIsMember
> [...]
> 0.040 | | | | | | | | | +-FcBlanksIsMember
>
> ---8<---------------------------------------------
>
> as opposed to:
>
> ---8<---------------------------------------------
>
> sun3:fontconfig)collect fc-cache -f
> Creating experiment database test.1.er ...
> sun3:fontconfig)er_print -calltree test.1.er
> Functions Call Tree. Metric: Attributed User CPU Time
>
> Attr. Name
> User CPU
> sec.
> 26.939 +-<Total>
> [...]
> 3.683 | | | | | | | | | | | +-FcBlanksIsMember
> [...]
> 4.073 | | | | | | | | | +-FcBlanksIsMember
>
> ---8<---------------------------------------------
>
>
>
>
>
--
behdad
http://behdad.org/
More information about the Fontconfig
mailing list