Feature #10138

Access monotonic counter in Time

Added by Aki Tuomi 7 months ago. Updated 7 months ago.

[ruby-core:64386]
Status:Rejected
Priority:Normal
Assignee:-

Description

Provide API access to guaranteed monotonic counter on underlying operating system. Supports Windows XP and later, OS/X, any linux with clock_gettime.

time-s-monotonic.patch Magnifier (2.07 KB) Aki Tuomi, 08/15/2014 09:22 AM

History

#1 Updated by Eric Wong 7 months ago

cmouse@cmouse.fi wrote:

time-s-monotonic.patch (2.07 KB)

It might be better to put the OS compatibility code in the existing
Process.clock_gettime implementation

#2 Updated by Aki Tuomi 7 months ago

Eric Wong wrote:

cmouse@cmouse.fi wrote:

time-s-monotonic.patch (2.07 KB)

It might be better to put the OS compatibility code in the existing
Process.clock_gettime implementation

Not sure. It is not same as clock_gettime, which accepts parameters and such, and it is not clock_gettime across operating systems.

Also, the point of this patch is to enable access to uniform monotonic clock, so that you don't need to check for OS, what clock you want etc. Process.clock_gettime is simply method exposure, and I would think most people would not appreciate that on OS/X or Windows it does something completely different.

#3 Updated by Yui NARUSE 7 months ago

  • Status changed from Open to Rejected

Aki Tuomi wrote:

Eric Wong wrote:

cmouse@cmouse.fi wrote:

time-s-monotonic.patch (2.07 KB)

It might be better to put the OS compatibility code in the existing
Process.clock_gettime implementation

Not sure. It is not same as clock_gettime, which accepts parameters and such, and it is not clock_gettime across operating systems.

Also, the point of this patch is to enable access to uniform monotonic clock, so that you don't need to check for OS, what clock you want etc. Process.clock_gettime is simply method exposure, and I would think most people would not appreciate that on OS/X or Windows it does something completely different.

Process.clock_gettime already have compatibility layer for OS X and Windows.
Therefore Process.clock_gettime(Process::CLOCK_MONOTONIC) is portable

#4 Updated by Aki Tuomi 7 months ago

Yui NARUSE wrote:

Aki Tuomi wrote:

Eric Wong wrote:

cmouse@cmouse.fi wrote:

time-s-monotonic.patch (2.07 KB)

It might be better to put the OS compatibility code in the existing
Process.clock_gettime implementation

Not sure. It is not same as clock_gettime, which accepts parameters and such, and it is not clock_gettime across operating systems.

Also, the point of this patch is to enable access to uniform monotonic clock, so that you don't need to check for OS, what clock you want etc. Process.clock_gettime is simply method exposure, and I would think most people would not appreciate that on OS/X or Windows it does something completely different.

Process.clock_gettime already have compatibility layer for OS X and Windows.
Therefore Process.clock_gettime(Process::CLOCK_MONOTONIC) is portable

So it would indeed seem, although I could not see Win32 listed as supported for CLOCK_MONOTONIC, but this could be just my misunderstanding. Thank you for the fast reply anyways!

Also available in: Atom PDF