Project

General

Profile

Actions

Feature #3001

open

Ruby stdlib: Benchmark::Tms #memberwise drops labels

Added by DrErnie (Ernest Prabhakar) over 11 years ago. Updated over 5 years ago.

Status:
Feedback
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:28908]

Description

=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 }
=> #
t2 = t / 2
=> #
=end

Actions

Also available in: Atom PDF