[Bug 3104] New: Compose table cache for faster X11 application starts

Jim Gettys Jim.Gettys at hp.com
Fri Apr 22 09:53:35 PDT 2005

Great stuff!

Given the number of applications that get started up these days in a
modern Linux desktop, (and the fact that other egregious delays in
booting are in the process of getting fixed in Linux), this is a
worthwhile enhancement indeed, which will cut off seconds of startup
time in all probability...

I'm posting this to the general list to make sure the work gets the
exposure it deserves.
				- Jim Gettys

On Fri, 2005-04-22 at 09:35 -0700, bugzilla-daemon at freedesktop.org
> Please do not reply to this email: if you want to comment on the bug, go to    
> the URL shown below and enter yourcomments there.     
> https://bugs.freedesktop.org/show_bug.cgi?id=3104          
>            Summary: Compose table cache for faster X11 application starts
>            Product: xlibs
>            Version: unspecified
>           Platform: All
>         OS/Version: All
>             Status: NEW
>           Keywords: l10n
>           Severity: enhancement
>           Priority: P2
>          Component: libX11
>         AssignedTo: jim.gettys at hp.com
>         ReportedBy: mhopf at suse.de
>                 CC: eich at pdx.freedesktop.org,sndirsch at suse.de
> As talked about on the Xorg developer conference, I implemented a compose
> cache mechanism for XIM, based on the early implementation by Lubos Lunak
> (llunak at suse.de). We should still think about replacing XIM in the long
> term, but these patches help for application startups in the short term.
> The compose cache accelerates program startup times and memory consumption
> considerably, especially for UTF8 locales. If a cache file is found during
> the startup of an application, the according cache is mmap()ed.
> Speedup is approx. 40-200ms decreased startup time for every X application,
> depending on your processor.  Approx. 240KB memory is saved per application.
> This is for UTF8 locales, differences are much lower for non-UTF8 locales,
> as well as for home-grown compose tables.
> The patches also implement a small (single entry) cache to _XlcLocaleDirName
> to deal with repeated calls.
> Cache files are searched in a global cache dir (read-only) and in the
> .compose-cache diretory of the user's home. If this directory does not
> exist, it is *not* created, effectively disabling the possibility of
> creating cache files.
> The whole thing consists of three patches, one for flattening out the
> internal database, one for the cache, and one for a helper program.
> The patches have been applied with SuSE Linux 9.3 (already shipping), and
> global cache files are shipped for all UTF8 locales as well.
> No problems so far.          
> --           
> Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email         
> ------- You are receiving this mail because: -------
> You are the assignee for the bug, or are watching the assignee.

More information about the xorg mailing list