Class: Bullshit::RangeCase
- Extended by:
- DSLKit::Constant, DSLKit::DSLAccessor
- Includes:
- EvaluationModule
- Defined in:
- lib/bullshit.rb
Overview
A range case is a benchmark case, where each iteration depends on a different argument, which might cause a non-constant running time. The evaluation of the case doesn’t check for constancy and steady-state properties.
Class Attribute Summary collapse
-
.args ⇒ Object
Returns the value of attribute args.
Attributes inherited from Case
Class Method Summary collapse
Instance Method Summary collapse
-
#evaluation(clock) ⇒ Object
Returns the evaluation for
bullshit_casewith the results of the benchmarking as a String. -
#run ⇒ Object
Check if iterations has been set.
Methods included from EvaluationModule
#detect_autocorrelation, #detect_outliers, #histogram, #statistics_table
Methods inherited from Case
#[], autorun_all, #bmethods, each, inherited, #initialize, #longest_name, output_filename, #post_run, #pre_run, run, run_all, run_count, #run_method, #run_once, #setup, sorted_bmethods, #teardown, #to_s, #write_files
Constructor Details
This class inherits a constructor from Bullshit::Case
Class Attribute Details
.args ⇒ Object
Returns the value of attribute args.
2069 2070 2071 |
# File 'lib/bullshit.rb', line 2069 def args @args end |
Class Method Details
.message ⇒ Object
2062 2063 2064 2065 |
# File 'lib/bullshit.rb', line 2062 def "Running '#{self}' for range #{range.inspect}"\ " (compare_time=#{compare_time})" end |
Instance Method Details
#evaluation(clock) ⇒ Object
Returns the evaluation for bullshit_case with the results of the benchmarking as a String.
2079 2080 2081 2082 2083 2084 2085 |
# File 'lib/bullshit.rb', line 2079 def evaluation(clock) clock.repeat == 0 and raise BullshitException, "no measurements were gauged" result = '' result << statistics_table(clock) result << "\n" end |
#run ⇒ Object
Check if iterations has been set. If yes call Case#run, otherwise raise a BullshitException exception.
2089 2090 2091 2092 2093 2094 |
# File 'lib/bullshit.rb', line 2089 def run(*) self.class.range or raise BullshitException, 'range has to be set to an enumerable of arguments' super end |