Issue #3001 has been updated by CHEOLHO JEON.


Ernest Prabhakar wrote:
> =begin
>  http://ruby-doc.org/stdlib/libdoc/benchmark/rdoc/classes/Benchmark/Tms.html#M000016-source
>  
>  The implementation of Benchmark::Tms#memberwise only passes the computed time values when creating a new instance, e.g.:
>  
>          Benchmark::Tms.new(utime.__send__(op, x),
>                             stime.__send__(op, x),
>                             cutime.__send__(op, x),
>                             cstime.__send__(op, x),
>                             real.__send__(op, x)
>                             )
>  
>  It would seem consistent (and more informative) if it also passed in the current label (especially since there's no other way to set it):
>  
>          Benchmark::Tms.new(utime.__send__(op, x),
>                             stime.__send__(op, x),
>                             cutime.__send__(op, x),
>                             cstime.__send__(op, x),
>                             real.__send__(op, x),
>                             label
>                             )
>  
>  Example:
>  
>  >> t =  Benchmark.measure("foo") { sleep 0.1 } 
>  => #<Benchmark::Tms:0x1011d03d8 @cstime=0.0, @total=0.0, @cutime=0.0, @label="foo", @stime=0.0, @real=0.100059986114502, @utime=0.0>
>  >> t2 = t / 2
>  => #<Benchmark::Tms:0x1011be6d8 @cstime=0.0, @total=0.0, @cutime=0.0, @label=nil, @stime=0.0, @real=0.050029993057251, @utime=0.0>
> =end

any update on this? I think it should not drop labels...

----------------------------------------
Feature #3001: Ruby stdlib: Benchmark::Tms #memberwise drops labels
https://bugs.ruby-lang.org/issues/3001#change-58833

* Author: Ernest Prabhakar
* Status: Feedback
* Priority: Normal
* Assignee: 
----------------------------------------
=begin
 http://ruby-doc.org/stdlib/libdoc/benchmark/rdoc/classes/Benchmark/Tms.html#M000016-source
 
 The implementation of Benchmark::Tms#memberwise only passes the computed time values when creating a new instance, e.g.:
 
         Benchmark::Tms.new(utime.__send__(op, x),
                            stime.__send__(op, x),
                            cutime.__send__(op, x),
                            cstime.__send__(op, x),
                            real.__send__(op, x)
                            )
 
 It would seem consistent (and more informative) if it also passed in the current label (especially since there's no other way to set it):
 
         Benchmark::Tms.new(utime.__send__(op, x),
                            stime.__send__(op, x),
                            cutime.__send__(op, x),
                            cstime.__send__(op, x),
                            real.__send__(op, x),
                            label
                            )
 
 Example:
 
 >> t =  Benchmark.measure("foo") { sleep 0.1 } 
 => #<Benchmark::Tms:0x1011d03d8 @cstime=0.0, @total=0.0, @cutime=0.0, @label="foo", @stime=0.0, @real=0.100059986114502, @utime=0.0>
 >> t2 = t / 2
 => #<Benchmark::Tms:0x1011be6d8 @cstime=0.0, @total=0.0, @cutime=0.0, @label=nil, @stime=0.0, @real=0.050029993057251, @utime=0.0>
=end




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

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>