Penchmark

Colorized output for Ruby's Benchmark. First version for safekeeping, refactoring to be done to reduce how much it is dependant on current version of benchmark

Installation

Add this line to your application's Gemfile:

gem 'penchmark'

And then execute:

$ bundle

Or install it yourself as:

$ gem install penchmark # SORRY! Not available yet.

Usage

Use Benchmark as normal. If you want pretty colored output use .penchmark or .pbm instead.

.report in the pbm/penchmark-block takes a min_value and max_value as an argument for colored OK/Warning output.

If the real time is outside of the min/max_value range the row will be colored accordingly.

Example:

require 'penchmark'

n = 10000
output = Benchmark.pbm do |x|
  x.report("Test1", 0, 0.002) {
    for i in 1..n;
      a = "1";
    end }

  x.report("Test2", 0, 0.01) {
    for i in 1..n;
      a = "1";
    end }

  x.report("Test3", 0, 0.6) {
    for i in 1..n*400;
      a = "1";
    end }

  x.report("Test4", 0, 0.7) {
    for i in 1..n;
      a = "1";
    end }

  x.report("Test5", 0, 0.2) {
    for i in 1..n;
      a = "1";
    end }

  x.report("Test6", 0, 0.9 ) {
    for i in 1..n;
      a = "1";
    end }
end

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request