Bug 2878 - Excessive relocations at startup for charsets
Summary: Excessive relocations at startup for charsets
Status: RESOLVED FIXED
Alias: None
Product: fontconfig
Classification: Unclassified
Component: library (show other bugs)
Version: 2.2
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Keith Packard
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-04-01 08:53 UTC by Ross Burton
Modified: 2006-02-21 07:10 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Ross Burton 2005-04-01 08:53:22 UTC
The fcLangCharSets array in fc-lang/fclang.h, despite not being that large at
6044 bytes in total, is spread across 146 variables.  None of this data is
constant so it is not shared between processes and must be relocated at startup.

Is it possible to write this data in a form which requires no run-time
calculations?  As far as I can tell the data in fcLangCharSets is readonly at
runtime, although there is code which manipulates other FcLangCharSet structs.
Comment 1 Matthias Clasen 2005-10-13 23:18:56 UTC
This might be fixable now. With the mmap cache, it should in principle be
possible to generate the charsets in fclang.h in mmappable form, with integer
indices instead of pointers.
Comment 2 Patrick Lam 2005-11-02 21:41:17 UTC
Yes.  It is fixable now, and ought to be about an evening's work for me.  I'll
try to get to it soon.
Comment 3 Patrick Lam 2005-11-04 11:34:08 UTC
I've committed a patch for this bug, but some testing would be useful.
Comment 4 Patrick Lam 2006-02-22 02:10:17 UTC
This is fixed now (and Takashi Iwai fixed some subtle bugs here; thanks!).


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.