Class: Coradoc::PerformanceRegression::ComparisonResult

Inherits:
Struct
  • Object
show all
Defined in:
lib/coradoc/performance_regression.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#baselineObject

Returns the value of attribute baseline

Returns:

  • (Object)

    the current value of baseline



33
34
35
# File 'lib/coradoc/performance_regression.rb', line 33

def baseline
  @baseline
end

#durationObject

Returns the value of attribute duration

Returns:

  • (Object)

    the current value of duration



33
34
35
# File 'lib/coradoc/performance_regression.rb', line 33

def duration
  @duration
end

#nameObject

Returns the value of attribute name

Returns:

  • (Object)

    the current value of name



33
34
35
# File 'lib/coradoc/performance_regression.rb', line 33

def name
  @name
end

Instance Method Details

#format_lineObject



40
41
42
43
44
# File 'lib/coradoc/performance_regression.rb', line 40

def format_line
  status = regressed? ? 'WARN' : 'OK'
  baseline_str = baseline ? "(baseline: #{baseline.round(4)}s)" : '(no baseline)'
  "  #{status} #{name}: #{duration.round(4)}s #{baseline_str}"
end

#regressed?(pct = 0.2) ⇒ Boolean

Returns:

  • (Boolean)


34
35
36
37
38
# File 'lib/coradoc/performance_regression.rb', line 34

def regressed?(pct = 0.2)
  return false if baseline.nil? || baseline.zero?

  (duration - baseline).abs / baseline > pct
end