Time zone: the next generation

Marc Lehmann schmorp at schmorp.de
Sun Mar 6 16:08:35 UTC 2005

On Sun, Mar 06, 2005 at 10:25:56PM +0700, Robert Elz <kre at munnari.OZ.AU> wrote:
>   | *	Abandon binary files
> No.   The text files require too much knowledge and processing.   As long

Nowadays, an X11 terminal emulator (say, i18n-ized rxvt) takes up to 0.5s
of startup time on my 2ghz opteron, which is a fast cpu.

This is actually somewhat slower than the startup times on, say, my
pentium in 1996, although one would have expected an order of magnitude
faster startup.

I once tried to find out why that is happening. I found the reason for
that slowdown is that libc/libX11/Xt etc. now parses a lot of files it
didn't parse before, such as the Compose table (which also increased in
size), lots of application-defaults files and more. (Of course, I get
vastly more functionality, too).

Although each of these files can be parsed very quickly, all of them
together eat considerable time and memory resources.

So while, personally, I prefer text over binary formats, I do so only
for ease of development. However, there already is a binary format for
timezone info, and before abandoning that I'd prefer good arguments. The
argument "it doesn't seem to be a problem nowadays" doesn't sound good
enough for it, as parsing time and memory required is not trivial, and
while it itself is not a problem, it adds to an already existing problem.

"Vastly more functionality" would be a better argument, but this doesn't
seem to be achievable.

(Another case in point is gnu libc's locale management, which a) converts
text to binary representation and b) caches frequently-used locales in a
special database, as loading even the pre-parsed binary format was slow).

Just my 0.02¢, of course.

                The choice of a
      -----==-     _GNU_
      ----==-- _       generation     Marc Lehmann
      ---==---(_)__  __ ____  __      pcg at goof.com
      --==---/ / _ \/ // /\ \/ /      http://schmorp.de/
      -=====/_/_//_/\_,_/ /_/\_\      XX11-RIPE

More information about the tz mailing list