[#55794] how to run ruby tests (backporting fix for cve-2013-4073) — Jordi Massaguer Pla <jmassaguerpla@...>
Hi ruby core developers,
4 messages
2013/07/04
[#55799] Re: how to run ruby tests (backporting fix for cve-2013-4073)
— V咜 Ondruch <v.ondruch@...>
2013/07/04
Dne 4.7.2013 13:19, Jordi Massaguer Pla napsal(a):
[#55853] ruby 1.9.3 p448 breaks ABI — V咜 Ondruch <v.ondruch@...>
Hi,
13 messages
2013/07/08
[#55854] Re: ruby 1.9.3 p448 breaks ABI
— Yorick Peterse <yorickpeterse@...>
2013/07/08
Out of curiosity, does this tool take into account deprecated/internal
[#55860] Re: ruby 1.9.3 p448 breaks ABI
— V咜 Ondruch <v.ondruch@...>
2013/07/08
Dne 8.7.2013 17:03, Yorick Peterse napsal(a):
[#55861] Re: ruby 1.9.3 p448 breaks ABI
— KOSAKI Motohiro <kosaki.motohiro@...>
2013/07/08
(7/8/13 5:36 PM), V咜 Ondruch wrote:
[#55864] Re: ruby 1.9.3 p448 breaks ABI
— Jon <jon.forums@...>
2013/07/08
On Tue, 9 Jul 2013 06:50:16 +0900
[#55886] [ruby-trunk - Bug #8616][Open] Process.daemon messes up threads — "tenderlovemaking (Aaron Patterson)" <aaron@...>
10 messages
2013/07/09
[#55976] [ruby-trunk - Feature #8629][Open] Method#parameters should include the default value — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>
13 messages
2013/07/12
[#56258] [ruby-trunk - Feature #8629] Method#parameters should include the default value
— "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>
2013/07/29
[#55984] [ruby-trunk - Bug #8630][Open] Transcoding high-bit bytes from ASCII-8BIT to a text encoding should be :invalid, not :undef — "headius (Charles Nutter)" <headius@...>
5 messages
2013/07/12
[#55986] Re: [ruby-trunk - Bug #8630][Open] Transcoding high-bit bytes from ASCII-8BIT to a text encoding should be :invalid, not :undef
— Tanaka Akira <akr@...>
2013/07/12
2013/7/13 headius (Charles Nutter) <headius@headius.com>:
[#55988] Next developer's meeting — Aaron Patterson <tenderlove@...>
Hi,
4 messages
2013/07/13
[#56001] [CommonRuby - Feature #8635][Open] attr_accessor with default block — "judofyr (Magnus Holm)" <judofyr@...>
5 messages
2013/07/14
[#56004] [ruby-trunk - Feature #8636][Open] Documentation hosting on ruby-lang.org — "zzak (Zachary Scott)" <e@...>
18 messages
2013/07/15
[#56005] [ruby-trunk - Feature #8637][Open] I18n documentation — "zzak (Zachary Scott)" <e@...>
5 messages
2013/07/15
[#56010] [ruby-trunk - Feature #8637] I18n documentation
— "zzak (Zachary Scott)" <e@...>
2013/07/15
[#56011] [ruby-trunk - Feature #8637] I18n documentation
— "kou (Kouhei Sutou)" <kou@...>
2013/07/15
[#56019] [ruby-trunk - Feature #8639][Open] Add Queue#each — "avdi (Avdi Grimm)" <avdi@...>
15 messages
2013/07/15
[#56020] [ruby-trunk - Feature #8639] Add Queue#each
— "rkh (Konstantin Haase)" <me@...>
2013/07/15
[#56029] Re: [ruby-trunk - Feature #8639][Open] Add Queue#each
— Alex Young <alex@...>
2013/07/15
On Tue, 2013-07-16 at 00:44 +0900, avdi (Avdi Grimm) wrote:
[#56027] [CommonRuby - Feature #8640][Open] Add Time#elapsed to return nanoseconds since creation — "tenderlovemaking (Aaron Patterson)" <aaron@...>
24 messages
2013/07/15
[#56068] [CommonRuby - Feature #8640] Add Time#elapsed to return nanoseconds since creation
— "phluid61 (Matthew Kerwin)" <matthew@...>
2013/07/17
[#56070] Re: [CommonRuby - Feature #8640] Add Time#elapsed to return nanoseconds since creation
— Aaron Patterson <tenderlove@...>
2013/07/18
On Thu, Jul 18, 2013 at 07:59:34AM +0900, phluid61 (Matthew Kerwin) wrote:
[#56037] [CommonRuby - Feature #8640] Add Time#elapsed to return nanoseconds since creation
— duerst (Martin Dürst) <duerst@...>
2013/07/16
[#56041] [CommonRuby - Feature #8643][Open] Add Binding.from_hash — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>
26 messages
2013/07/16
[#56087] [ruby-trunk - Feature #8658][Open] Process.clock_gettime — "akr (Akira Tanaka)" <akr@...>
23 messages
2013/07/19
[#56092] [ruby-trunk - Feature #8658] Process.clock_gettime
— "akr (Akira Tanaka)" <akr@...>
2013/07/20
[#56132] Re: [ruby-trunk - Feature #8658] Process.clock_gettime
— KOSAKI Motohiro <kosaki.motohiro@...>
2013/07/23
(7/20/13 6:39 AM), akr (Akira Tanaka) wrote:
[#56135] Re: [ruby-trunk - Feature #8658] Process.clock_gettime
— Tanaka Akira <akr@...>
2013/07/24
2013/7/24 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
[#56096] [CommonRuby - Feature #8661][Open] Add option to print backstrace in reverse order(stack frames first & error last) — "gary4gar (Gaurish Sharma)" <gary4gar@...>
18 messages
2013/07/20
[#56103] Ruby Developer Meeting Japan 2013-07-27 — "NARUSE, Yui" <naruse@...>
Hi,
6 messages
2013/07/21
[#56228] [ruby-trunk - Bug #8697][Open] Fixnum complement operator issue — "torimus (Torimus GL)" <torimus.gl@...>
8 messages
2013/07/27
[#56247] [ruby-trunk - Feature #8700][Open] Integer#bitsize (actually Fixnum#bitsize and Bignum#bitsize) — "akr (Akira Tanaka)" <akr@...>
8 messages
2013/07/28
[#56270] [ruby-trunk - Feature #8707][Open] Hash#reverse_each — "Glass_saga (Masaki Matsushita)" <glass.saga@...>
8 messages
2013/07/30
[#56276] [ruby-trunk - Feature #8707][Feedback] Hash#reverse_each
— "matz (Yukihiro Matsumoto)" <matz@...>
2013/07/31
[ruby-core:56130] [ruby-trunk - Feature #8658] Process.clock_gettime
From:
"Eregon (Benoit Daloze)" <redmine@...>
Date:
2013-07-23 16:22:23 UTC
List:
ruby-core #56130
Issue #8658 has been updated by Eregon (Benoit Daloze). akr (Akira Tanaka) wrote: > > While I appreciate Ruby is not always taking the lowest common denominator for functionality (fork, etc), > > we need a counterpart for Windows and OS X at least. > > Users of such OSs can contribute an emulation function for clock_gettime. A very poor one as mapping to Linux/UNIX constants would just confuse people. I do not think the UNIX API clock_gettime() for this is the most suitable, it does not abstract the functionality and the name/usage is not very ruby-like. I think FFI would be a good way if someone need direct access to that low-level C function (except for accessing the constants, that would not be handy). > > naruse gave a very useful link in #8096, http://www.python.org/dev/peps/pep-0418/ . > > I do not wish for a so large API, but I think we should have the timestamp functionality like time.time() > > and a precise performance counter like time.perf_counter(). > > PEP 0418 mentions that python provide clock_gettime as time.clock_gettime. > PEP 0418 doesn't mean providing clock_gettime itself is bad idea. I believe providing a method which is only available in a quite restricted set of platforms is to be avoided. In Python it is simply not defined on non-supporting platforms. > Higer level methods may be useful but what I intend in this issue is a > low level primitive. To which use-cases other than benchmarking do you think? I want Ruby to propose a nice and precise way to benchmark code *not* requiring the user to know about every detail of available clocks/timers under every platform. ---------------------------------------- Feature #8658: Process.clock_gettime https://bugs.ruby-lang.org/issues/8658#change-40625 Author: akr (Akira Tanaka) Status: Open Priority: Normal Assignee: Category: Target version: How about adding a new method, Process.clock_gettime(clk_id) ? Recently there were two feature request for measuring time. Feature #8640 https://bugs.ruby-lang.org/issues/8640 Feature #8096 https://bugs.ruby-lang.org/issues/8096 It seems they are somewhat different. clock_gettime() function defined by POSIX is a good candidate for providing as a method. I think it can supports the both request. Also, it has less possible design choices than the requests because clock_gettime() is defined by POSIX. People familiar to POSIX can learn the method more easily. I wrote a patch to implement Process.clock_gettime. This method can be used as follows. % ./ruby -e 'p Process.clock_gettime(Process::CLOCK_MONOTONIC)' 2701692957811563 Several considerations: I implemented the method as a module function of Process. It is same as Process.times. I expect clock_gettime is used mainly for measuring time interval and wall clock time is not important. So I didn't use Time. The method returns a number of nanoseconds as an integer. It is not so unexpected if user knows clock_gettime() in POSIX. clock_gettime() returns it as struct timespec which contains two fields: tv_sec and tv_nsec. Although tv_sec is time_t, Time is not appropriate because the origin (zero) can be other than the Epoch. Actually CLOCK_MONOTONIC means elapsed time since the system start-up time on Linux. Also, I expect the result is subtracted in most case: t1 = Process.clock_gettime(...) ... t2 = Process.clock_gettime(...) t = t2 - t1 So the result should be easy to subtract. An array such as [sec, nsec] is difficult to subtract. The result is an integer, not a float. IEEE 754 double is not enough to represent the result of clock_gettime(CLOCK_REALTIME). It contains 19 digits in decimal now but IEEE 754 double can represent only 15 digits. On LP64 systems, Fixnum can represent 2**62-1. So (2**62-1)/(365.25*24*60*60*1e9)=146.1 years are representable without object allocation. On ILP32 and LLP64 systems, Fixnum can represent 2**30-1. So (2**30-1)/1e9=1.07 seconds are representable without object allocation. This means Bignum allocations are mostly required except the origin is very recent. clock_gettime() is defined by POSIX. Linux, NetBSD, FreeBSD, OpenBSD has it, at least. If clock_gettime() is not available, an emulation layer for CLOCK_REALTIME is implementable using gettimeofday(). (not implemented yet, though.) Any comments? -- http://bugs.ruby-lang.org/