Re: 1 - 17 ms, 553 ╬╝s, and 1 hnsec
Steven Schveighoffer
schveiguy at gmail.com
Thu May 16 20:17:37 UTC 2019
On 5/16/19 4:55 PM, Vladimir Panteleev wrote:
> On Thursday, 16 May 2019 at 15:52:05 UTC, Steven Schveighoffer wrote:
>>> Hecto-nano-second, the smallest representable unit of time in SysTime
>>> and Duration.
>>
>> The output shouldn't involve the inner workings of the type. It should
>> be changed to say 10 ns.
>
> If the output is meant for the developer, then I disagree subjectively,
> as that creates the impression that the lowest resolution or
> representable unit of time is the nanosecond.
It is what it is. The reason hnsecs is used instead of nsecs is because
it gives a time range of 20,000 years instead of 2,000 years.
We do have a nanosecond resolution, and it's just rounded down to the
nearest 10.
For example:
auto d = 15.nsecs;
assert(d == 10.nsecs);
You shouldn't be relying on what a string says to know what the tick
resolution is.
For example, if I do writefln("%f", 1.0), I get 1.000000. That doesn't
mean I should assume floating point precision only goes down to 1/1_000_000.
hnsecs is more confusing than nanoseconds. People know what a nanosecond
is, a hecto-nano-second is not as familiar a term.
> If the output is meant for the user, then hectonanoseconds or
> nanoseconds are going to be almost always irrelevant. The duration
> should be formatted appropriately to the use case.
Depends on the user and the application.
-Steve
More information about the Digitalmars-d-learn
mailing list