[ruby-dev:50139] [Ruby trunk Feature#11952] Use getrusage for Process.times if available

From: akr@...
Date: 2017-05-27 22:22:53 UTC
List: ruby-dev #50139
Issue #11952 has been updated by akr (Akira Tanaka).


It seems fine.

Actually, times(3) is implemented using getrusage(2) on NetBSD.
http://cvsweb.netbsd.org/cgi-bin/cvsweb.cgi/src/lib/libc/gen/times.c?rev=1.15&content-type=text/x-cvsweb-markup

Also, times(2) seems to obtain same result of getrusage(2) on Linux.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/sys.c

----------------------------------------
Feature #11952: Use getrusage for Process.times if available
https://bugs.ruby-lang.org/issues/11952#change-65136

* Author: k0kubun (Takashi Kokubun)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
Since times(3) has poor precision, I want to use getrusage(2) for Process.times to get better precision if getrusage is available.

before: Process.times #=> #<struct Process::Tms utime=0.06, stime=0.02, cutime=0.02, cstime=0.03>
after: Process.times #=> #<struct Process::Tms utime=0.065265, stime=0.026326, cutime=0.023249, cstime=0.029963>


---Files--------------------------------
0001-Use-getrusage-for-Process.times-if-available.patch (1.54 KB)


-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next