[ 
https://issues.apache.org/jira/browse/HBASE-8927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13706031#comment-13706031
 ] 

stack commented on HBASE-8927:
------------------------------

Yeah on what javadoc says but src is quoted in this thread: 
http://stackoverflow.com/questions/510462/is-system-nanotime-completely-useless

{code}
jlong os::javaTimeMillis() {
  timeval time;
  int status = gettimeofday(&time, NULL);
  assert(status != -1, "linux error");
  return jlong(time.tv_sec) * 1000  +  jlong(time.tv_usec / 1000);
}


jlong os::javaTimeNanos() {
  if (Linux::supports_monotonic_clock()) {
    struct timespec tp;
    int status = Linux::clock_gettime(CLOCK_MONOTONIC, &tp);
    assert(status == 0, "gettime error");
    jlong result = jlong(tp.tv_sec) * (1000 * 1000 * 1000) + jlong(tp.tv_nsec);
    return result;
  } else {
    timeval time;
    int status = gettimeofday(&time, NULL);
    assert(status != -1, "linux error");
    jlong usecs = jlong(time.tv_sec) * (1000 * 1000) + jlong(time.tv_usec);
    return 1000 * usecs;
  }
}
{code}

The above looks pretty good to me.
                
> Use nano time instead of mili time everywhere
> ---------------------------------------------
>
>                 Key: HBASE-8927
>                 URL: https://issues.apache.org/jira/browse/HBASE-8927
>             Project: HBase
>          Issue Type: Bug
>            Reporter: stack
>         Attachments: 8927.txt
>
>
> Less collisions and we are paying the price of a long anyways so might as 
> well fill it.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to