This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: LC_* number reduction


On Tue, Feb 05, 2002 at 10:15:29AM -0800, Ulrich Drepper wrote:
> > I completely missed this todo item. Looking at how big and hardlinkable the
> > files are, I'd say glibc should use 3 locale files, not 11 nor 1:
> 
> I do have a different mechanism in mind.  Even simpler than that.  All
> can be put in a simple flat "database".  I.e., one file which
> immitates a filesystem with hardlinks etc.  It'll also include the
> locale.lias information.  The advantage is that only one file has to
> be opened, one name lookup in the hash table, and then potentially
> only one single mmap() call if all the locale data is in consecutive
> addresses.

Well, this has obvious advantages, but some disadvantages too:
a) if you have this 25M locale.db file installed and want to upgrade glibc
   which e.g. contains some locales fixes, you need to decide either that
   you replace this file with the new one (which means blowing away possible
   user's localedef additions/tweaks/whatever), or leave the old one there
   (thus the user won't upgrade the locales for which fixes exist).
   Of course, there could be some "merge" operation for them.
   I don't consider here rebuilding all locales from sources at glibc
   package install time, since that takes too long.
b) it is no longer possible to install a subset of locales which users will
   only use (say at install time one chooses he will only be interested in
   english, french and german locales) - you end up with the 25M file all
   the time.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]