[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: zdump on amd64

Check the version of zdump in use with a...
	zdump --version
...command; starting with the February 2006 (8.1) version, output has been limited to run from the year -500 to the year 2500 by default. The range can be changed using the...
	-c [loyear],hiyear


-----Original Message-----
From: Andriy Gapon [mailto:avg_(_at_)_icyb_(_dot_)_net_(_dot_)_ua] 
Sent: Wednesday, March 21, 2007 10:13 AM
To: freebsd-amd64_(_at_)_freebsd_(_dot_)_org; freebsd-stable_(_at_)_freebsd_(_dot_)_org
Cc: wollman_(_at_)_freebsd_(_dot_)_org; tz_(_at_)_lecserver_(_dot_)_nci_(_dot_)_nih_(_dot_)_gov
Subject: Re: zdump on amd64

on 19/03/2007 16:15 Andriy Gapon said the following:
> Strange problem:
> $ uname -srm
> FreeBSD 6.2-RELEASE-p2 amd64
> $ zdump -v EST
> EST  Sun Jan 26 08:29:52 -219 UTC = Sun Jan 26 03:29:52 -219 EST isdst=0
> gmtoff=-18000
> EST  Mon Jan 27 08:29:52 -219 UTC = Mon Jan 27 03:29:52 -219 EST isdst=0
> gmtoff=-18000
> EST  Fri Jan  1 04:59:59 -219 UTC = Thu Dec 30 23:59:59 -219 EST isdst=0
> gmtoff=-18000
> EST  Fri Jan  1 05:00:00 -219 UTC = Fri Jan  1 00:00:00 -219 EST isdst=0
> gmtoff=-18000
> ^C
> Before each ^C zdump was hanging eating 100% CPU.
> Something about 64-bitness ?

Hmm. I hurried to assert that it was hanging, it was actually searching.
It seems that zdump -v algorithm is to start with minimal time_t
possible (large negative number in our case) and to go to maximum time_t
using 12 hours increments and doing certain checks for DST jumps.
Well, with 64-bit time_t start date is somewhere 200 milliard (10^9)
years ago and end date is the same in the future, so iteration over
those years takes quite a while. And tz db doesn't contain anything
useful for too distant years anyway.

I think that zdump should be optimized to limit its search range. At the
very least for the start point - what is current estimate of the age of
our Universe :-)

Andriy Gapon
freebsd-amd64_(_at_)_freebsd_(_dot_)_org mailing list
To unsubscribe, send any mail to "freebsd-amd64-unsubscribe_(_at_)_freebsd_(_dot_)_org"

Visit your host, monkey.org