benchmark_driver 0.14.20 → 0.14.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8da8cf07f970515a45b029602f411db25b32350e455c83080b71cb4a6a07cbed
4
- data.tar.gz: ced745db54c4ee5a8dccb57d911bf92f3e9714bcede2cb990a6f3742d5796437
3
+ metadata.gz: 60b50f8bfde2f225d9332ee85c8865ecac8337d1de770e8d7a1bdf4011772fdf
4
+ data.tar.gz: d6ca687f6eb41389b44a09148e34c6c812146dd3abdc808f79a5c114a202529c
5
5
  SHA512:
6
- metadata.gz: 6542433b89468cc83e65ba31b17e4f339d2c0cdd52022340f5cb2060c3ffcde154e9bedf48d99dfd965b53602478fdf3f91ff7c17b94b1042f0f33f399a9ba2c
7
- data.tar.gz: 948feb67c5e19ecea0b0f364049f27435e3610e729d39dd4adba9c89397f9911043a8bb036d7803c81f19bdb78bfe5c66d8e690692ca24bd297f3b6aa963a8b3
6
+ metadata.gz: 303fa292b389e5b020cc7058889fbb44056c21c69103155615dc37da5a9f5435b7956e785db90f98e251fa7d5d41ce2b3b5a5b495e21a17b7eeb5b5e0ff6a7de
7
+ data.tar.gz: c230230201bc66fd977fbffdd8fd52ccc8c3560587b02185e3477efc2b4c1ce4b1c3aa9b82132a96aee6743a5c503803e06c8afff8e60f66f3f46352f604e9fd
@@ -1,3 +1,8 @@
1
+ # v0.14.21
2
+
3
+ - Avoid crashinig on a zero division error in `compare` output
4
+ [#56](https://github.com/benchmark-driver/benchmark-driver/pull/56)
5
+
1
6
  # v0.14.20
2
7
 
3
8
  - Add `block` runner to automatically wrap a Ruby block in script for benchmarking MJIT
@@ -181,6 +181,17 @@ class BenchmarkDriver::Output::Compare
181
181
  end
182
182
  end
183
183
 
184
+ def show_slower(better_result, worse_result)
185
+ top = worse_result.value
186
+ bottom = better_result.value
187
+ top, bottom = bottom, top if @metrics.first.larger_better
188
+
189
+ unless BenchmarkDriver::Result::ERROR.equal?(bottom)
190
+ ratio = top / bottom
191
+ "- %.2fx #{@metrics.first.worse_word}" % ratio
192
+ end
193
+ end
194
+
184
195
  # @param [Array<BenchmarkDriver::Output::Compare::Result>] results
185
196
  # @param [TrueClass,FalseClass] show_context
186
197
  def show_results(results, show_context:)
@@ -194,14 +205,7 @@ class BenchmarkDriver::Output::Compare
194
205
 
195
206
  first = results.first
196
207
  results.each do |result|
197
- if result != first
198
- if @metrics.first.larger_better
199
- ratio = (first.value / result.value)
200
- else
201
- ratio = (result.value / first.value)
202
- end
203
- slower = "- %.2fx #{@metrics.first.worse_word}" % ratio
204
- end
208
+ slower = show_slower(first, result) if result != first
205
209
  if show_context
206
210
  name = result.context.name
207
211
  else
@@ -1,3 +1,3 @@
1
1
  module BenchmarkDriver
2
- VERSION = '0.14.20'
2
+ VERSION = '0.14.21'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: benchmark_driver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.20
4
+ version: 0.14.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takashi Kokubun
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-04 00:00:00.000000000 Z
11
+ date: 2019-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler