I'm not sure I want to bring this into the discussion, but there's a proposal 
(pushed largely by Facebook) for a timescale called the "flick" which is 
exactly  1/705600000 second.

Quote:

   "This unit of time is the smallest time unit which is LARGER than a 
nanosecond, and can in integer quantities exactly represent a single frame 
duration for 24hz, 25hz, 30hz, 48hz, 50hz, 60hz, 90hz, 100hz, 120hz, and also 
1/1000 divisions of each. This makes it suitable for use via 
std::chrono::duration and std::ratio for doing timing work against the system 
high resolution clock, which is in nanoseconds, but doesn't get slightly out of 
sync when doing common frame rates."

I can see useful properties of this when doing multimedia playback.   They have 
C++ libraries implementing this unit.  I'm not affiliated with this effort in 
any way, but saw it recently.

https://github.com/OculusVR/Flicks/blob/master/README.md

On January 23, 2018 7:54:13 AM MST, Roger Riggs <roger.ri...@oracle.com> wrote:
>Hi Kurt,
>
>I created an enhancement request in the Jira and linked the core-libs 
>emails in.
>     https://bugs.openjdk.java.net/browse/JDK-8196003
>
>Thanks for the frequency usage info.  Its hard to guess whether if
>micro 
>APIs were
>available whether they would have been used instead of millis.
>
>Roger
>
>
>On 1/23/2018 12:23 AM, Kurt Alfred Kluever wrote:
>> Thanks for the responses, Stephen + Roger,.
>>
>> As noted, a line definitely has to be drawn somewhere. In case anyone
>
>> is looking for some data, here are current relative usage stats
>inside 
>> of Google for the various APIs, grouped by functionality 
>> (creating/decomposing Instants/Durations):
>>
>>   Instant.ofEpochMilli(long): 67%
>>   Instant.ofEpochSecond(long): 29%
>> *  Instants.ofEpochMicros(long): 4%
>> *
>>
>>   Instant.toEpochMilli(): 83%
>>   Instant.getEpochSecond(): 10%
>> *  Instants.toEpochMicros(Instant): 7%*
>>
>>   Duration.ofSeconds(long): 30%
>> Duration.ofDays(long): 24%
>>   Duration.ofMillis(long): 21%
>> Duration.ofMinutes(long): 18%
>> Duration.ofHours(long): 7%
>>   Duration.ofNanos(long): < 1%
>> *  Durations.ofMicros(long): < 1%*
>>
>>   Duration.toMillis(): 73%
>> Duration.getSeconds(): 16%
>>   Duration.toMinutes(): 3%
>>   Duration.toNanos(): 3%
>> Duration.toDays(): 3%
>> *Durations.toMicros(Duration): 2%*
>> Duration.toHours(): 1%
>>
>> So yea, it's definitely towards the bottom of the usage stats, but 
>> that also might be partially because of the discoverability issue 
>> (people are much more likely to find an instance method directly on 
>> the type than a static method on our Durations class). Anyway, I'm
>not 
>> claiming these numbers motivate any sort of change, but given a 
>> proposal to add microsecond support directly to the APIs, I think I'd
>
>> be in favor :-) Or perhaps Google is unique in it's usage of 
>> microsecond precision (many of our storage systems have timestamps 
>> using microsecond precision).
>>
>> PS - and thanks for the ".NET ticks" reference, I hadn't heard of
>that 
>> before. And maybe here's a new one for you that just popped up in the
>
>> news --- a Flick <https://github.com/OculusVR/Flicks> (1/705600000 of
>
>> a second).
>>
>> On Mon, Jan 22, 2018 at 10:00 AM, Stephen Colebourne 
>> <scolebou...@joda.org <mailto:scolebou...@joda.org>> wrote:
>>
>>     On 22 January 2018 at 02:58, Kurt Alfred Kluever <k...@google.com
>>     <mailto:k...@google.com>> wrote:
>>     > I'm curious how these sets of units were chosen or decided
>upon? I
>>     > understand that the line must be drawn somewhere (or else
>>     someone may come
>>     > along asking for centisecond support), but I'm curious as to
>the
>>     rational.
>>
>>     Nanos have to be supported as they are the smallest available.
>>     Millis are supported as they are the historic form.
>>
>>     Micros is only one of the other possible ones - .NET ticks might
>be
>>     another. A line has to be drawn somewhere...
>>
>>     Stephen
>>
>>
>>
>>
>> -- 
>> kak

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Reply via email to