- From: Poul-Henning Kamp <phk@phk.freebsd.dk>
- Date: Thu, 17 Nov 2016 09:48:16 +0000
- To: Willy Tarreau <w@1wt.eu>
- cc: Julian Reschke <julian.reschke@gmx.de>, Kazuho Oku <kazuhooku@gmail.com>, HTTP Working Group <ietf-http-wg@w3.org>
-------- In message <20161117090110.GA10016@1wt.eu>, Willy Tarreau writes: >On Thu, Nov 17, 2016 at 09:01:35AM +0100, Julian Reschke wrote: (Sorry for going time-nut on you guys...) >Sure but that's one example where we know the 53-bit mantissa already fails >to represent sub-microsecond when the seconds represent the unix time since >the epoch, so a struct timespec is misrepresented there. Nobody outside a small group institutions, of which I am the founding member[1], are able to generate such a timestamp with any level of credibility as to its truthfullness. >On the other hand most of the time we don't care about the sub-microsecond >accuracy, Trust me: We will never care about *timestamps* with sub-microsecond resolution in HTTP headers. They barely make sense in the first place and transmission noise and and delays will totally swamp any information they might carry. We might care about time *intervals* with sub-nanosecond resolution, for instance how long it took to find something in memory. Eleven digits behind the decimal point is all you need for that[2] and they should be stacked on top of a time_t offset of much lower precision. >Another option could be to state that some numbers can include a fractional >part and that this part has to be processed separately *if required*. We are trying to *communicate* the number. How people decide to process the number on their own computer is not for us to decide [3]. >Or maybe Poul-Henning's 15-digit number can solve it as well. But we must not >use it for any number as it would remove the ability to pass 64-bit integers. 15 digits is enough for a Content-Length of a petabyte, I don't think anybody, now or in the future, will find that a sensible thing to do. If you want to move cryptographic bits, there is a dedicated "blob" datatype for that. Poul-Henning [1] http://phk.freebsd.dk/pubs/timecounter.pdf [2] This is phyics: You have to get a certain number of electrons through an electrical circuit before the voltage crosses your triggering threshold, and they are swimming in thermal noise. [3] But the 15 digit limitation is there to make it easier for them. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence.
Received on Thursday, 17 November 2016 09:48:46 UTC