A Ruby benchmark extension to allow comparative plotting of benchmarks.
Watch a screencast of gem usage here.
This gem is mainly useful for benchmarking code over a number of inputs. This input should be supplied in the form of an object capable of calling #each.
Sample benchmarking script:
require'benchmark/plot'classTestArrayattr_reader:arrdefinitializearr@arr=arrenddefto_s@arr.size.to_sendendtest_data=[5,25,50,75,100,125,150,175,200,250,300]test_data.map!{|e| TestArray.new(Array.new(e){|i| i})}Benchmark.plot(test_data)do |x|
x.report("map.flatten")do |data|
data.arr.map{[nil]}.flattenendx.report("flat_map")do |data|
data.arr.flat_map{[nil]}endendOutput:
@tgxworld for providing the co-working space during the Open Source Breakfast Hack during Red Dot Ruby Conference 2016 where this gem was built.
