[#55853] ruby 1.9.3 p448 breaks ABI — V咜 Ondruch <v.ondruch@...>

Hi,

13 messages 2013/07/08

[#55951] [ruby-trunk - Bug #8625][Open] IO#read(len, buf) shortens buf even if data is not read actually — "no6v (Nobuhiro IMAI)" <nov@...>

10 messages 2013/07/11

[#55976] [ruby-trunk - Feature #8629][Open] Method#parameters should include the default value — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>

13 messages 2013/07/12

[#55985] [ruby-trunk - Feature #8631][Open] Add a new method to ERB to allow assigning the local variables from a hash — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>

19 messages 2013/07/12

[#56004] [ruby-trunk - Feature #8636][Open] Documentation hosting on ruby-lang.org — "zzak (Zachary Scott)" <e@...>

18 messages 2013/07/15

[#56019] [ruby-trunk - Feature #8639][Open] Add Queue#each — "avdi (Avdi Grimm)" <avdi@...>

15 messages 2013/07/15

[#56027] [CommonRuby - Feature #8640][Open] Add Time#elapsed to return nanoseconds since creation — "tenderlovemaking (Aaron Patterson)" <aaron@...>

24 messages 2013/07/15

[#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

[#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

[#56193] [ruby-trunk - Bug #8693][Open] lambda invoked by yield acts as a proc with respect to return — "rits (First Last)" <redmine@...>

33 messages 2013/07/26

[#56274] [ruby-trunk - Bug #8709][Open] Dir.glob should return sorted file list — "tommorris (Tom Morris)" <tom@...>

19 messages 2013/07/30

[ruby-core:56081] Re: [CommonRuby - Feature #8640] Add Time#elapsed to return nanoseconds since creation

From: Rodrigo Rosenfeld Rosas <rr.rosas@...>
Date: 2013-07-18 14:18:02 UTC
List: ruby-core #56081
Em 18-07-2013 10:49, Rodrigo Rosenfeld Rosas escreveu:
> Em 18-07-2013 03:03, Aaron Patterson escreveu:
>> On Thu, Jul 18, 2013 at 07:59:34AM +0900, phluid61 (Matthew Kerwin) 
>> wrote:
>>> Issue #8640 has been updated by phluid61 (Matthew Kerwin).
>>>
>>>
>>> tenderlovemaking (Aaron Patterson) wrote:
>>>> On Wed, Jul 17, 2013 at 01:04:37PM +0900, phluid61 (Matthew Kerwin) 
>>>> wrote:
>>>>   > Since the discussion has moved towards defining two separate 
>>>> methods {#elapsed => (float)s and #elapsed_nanoseconds => (int)ns} 
>>>> I do prefer a keyword argument {in: :nanoseconds}.  Sorry for 
>>>> wavering back and forth on the issue so noisily.
>>>>     I don't care if a method exists that has kw args, but I would 
>>>> not use
>>>>   it.  The things we need to time in Rails are fairly fast (say 
>>>> 200ms on
>>>>   the slow side) and happen frequently, which means that object
>>>>   allocations matter.  A kwarg method will end up allocating a hash on
>>>>   every call.
>>>>     If someone else wants to make a method with kwargs, I think that's
>>>>   great, but it's not what I'm pushing for here.  My point is to 
>>>> reduce
>>>>   object allocations.  :-)
>>> In that case, would #8096 be a better proposal?  Since that one 
>>> doesn't even allocate a Time object.
>> I don't think so.  We need subsecond resolution, which (if we used
>> #8096) would require a possible bignum allocation (from what I gather in
>> the ticket).
>
> But I believe he has a point, Aaron. Maybe we should avoid allocating 
> a time object (Time.now) and instead introduce something like Java's 
> System.currentTimeMillis():
>
> start = Benchmark.start
> operation
> report start.since_beginning
> other_operation
> report start.since_beginning # from start= on
> report start.since_last_report # since operation
>
> This new object would be lighter than Time as it would only contain 
> the start absolute nanoseconds or millis since epoch, maybe.
>
> I haven't given the names much of a thought, but that would be the 
> idea. Makes sense?
>

Also, as a side effect, this new class could have methods like 
nanoseconds_ellapsed, and seconds_ellapsed and the like.

Also, it could bookmark some parts of the code. Example:

time_recording = Benchmark.start
some_code
time_recording.bookmark(:a)
more_code
report time_recording.seconds_ellapsed_since(:a)

Best,
Rodrigo.


In This Thread