Richard B. Gilbert wrote:
Ulrich Windl wrote:
Talking about 128bit time formats or so: With today's computing power
(just
think of MP3 decoders), a switch to BCD coded time in 128 bit should be
sufficient:
Byte#: 1 2 3 4 5 6 7 8 910 111213 141516
Value:2006-07-18 09:26:13.12 1234 567890 123456
So you'd have significant sub-picosecond resolution and peace until year
"9999".
Regards,
Ulrich
Do YOU want to write the code to manipulate that format? It looks like
a nightmare to me!
Not at all! It is in effect identical to standard ISO format, plus the
fractional part, except for the two-to-one compression achieved by
storing in BCD instead of ASCII, but that particular conversion is of
course trivial.
BTW, I have written code to convert both ways, between ISO and Unix/NTP
seconds, and it is the seconds-to-ISO operations which is the tough one:
The naive code takes several hundred clock cycles to do this, while my
version did it close to an order of magnitude faster. :-)
For the ascii/bcd fractional part I have also invented a way to convert
a 32-bit unsigned number from binary to ascii (the reverse is easy of
course) in something like 30-50 clock cycles. AMD stole/borrowed this
code (or about 95% of it), without attribution, for their optimization
guide.
Terje
--
- <[EMAIL PROTECTED]>
"almost all programming can be viewed as an exercise in caching"
_______________________________________________
questions mailing list
[email protected]
https://lists.ntp.isc.org/mailman/listinfo/questions