benchmark-ips 2.8.2 → 2.8.3

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: da5b50c171ff2a6a40819f6b8d9558052555b93661c4b5f9d7b381dcafaf3e97
4
- data.tar.gz: 68bb278b667a4c508a3dfc6474f78ced7f9b211495c51e4c3e020b6b24dc21b8
3
+ metadata.gz: 4bd1437bad08cae3326e3598e00e6de5cc934ed419030cfff810fe3b213de495
4
+ data.tar.gz: 56b66543830a961b3e960b290205cb80d41229fb1bf5964d223f0af8438d1587
5
5
  SHA512:
6
- metadata.gz: 96a2659f8cac1f286fb4074a7a6c590e64e32b8085b1190047dc4b9a4ad6e218846701672459347d984b46b00b49d74ddaeaba284c01204e6f6d41010f1d8677
7
- data.tar.gz: 909b29dd0874432f9a08df7f4728029b1bfda0b3499d11a74a04c946beaa82f296ef552aee4e104c7149f1456dc2481186eef166ad10398f5ad36a340cb32c81
6
+ metadata.gz: c8c7375472f21ef4403327d993cc71c9b000390507a69dfaeac60b3a149a60059bfd28f3aace273ffdb81c069084d091d67154bc77a72f0402d92f21da4568db
7
+ data.tar.gz: 1edd46fee8de839431b479d7dfaa01ac95b0a7d620cb85494ca6262786b87dc372df96eb9eff7ddced14e0b6e3168bc282687a8cd2653b557cb947665a615568
@@ -1,3 +1,27 @@
1
+ === 2.8.3 / 2020-08-28
2
+
3
+ * Bug fix
4
+ * Fixed inaccuracy caused by integer overflows.
5
+
6
+ === 2.8.2 / 2020-05-04
7
+
8
+ * Bug fix
9
+ * Fixed problems with Manifest.txt.
10
+ * Empty interim results files are ignored.
11
+
12
+ === 2.8.0 / 2020-05-01
13
+
14
+ * Feature
15
+ * Allow running with empty ips block.
16
+ * Added save! method for saving interim results.
17
+ * Run more than just 1 cycle during warmup to reduce overhead.
18
+ * Optimized Job::Entry hot-path for fairer results on JRuby/TruffleRuby.
19
+
20
+ * Bug fix
21
+ * Removed the warmup section if set to 0.
22
+ * Added some RDoc docs.
23
+ * Added some examples in examples/
24
+
1
25
  === 2.7.2 / 2016-08-18
2
26
 
3
27
  * 1 bug fix:
@@ -16,7 +16,7 @@ module Benchmark
16
16
  module IPS
17
17
 
18
18
  # Benchmark-ips Gem version.
19
- VERSION = "2.8.2"
19
+ VERSION = "2.8.3"
20
20
 
21
21
  # CODENAME of current version.
22
22
  CODENAME = "Tardy Turtle"
@@ -9,6 +9,7 @@ module Benchmark
9
9
  # The percentage of the expected runtime to allow
10
10
  # before reporting a weird runtime
11
11
  MAX_TIME_SKEW = 0.05
12
+ POW_2_30 = 1 << 30
12
13
 
13
14
  # Two-element arrays, consisting of label and block pairs.
14
15
  # @return [Array<Entry>] list of entries
@@ -263,6 +264,10 @@ module Benchmark
263
264
  t1 = Timing.now
264
265
  warmup_iter = cycles
265
266
  warmup_time_us = Timing.time_us(t0, t1)
267
+
268
+ # If the number of cycles would go outside the 32-bit signed integers range
269
+ # then exit the loop to avoid overflows and start the 100ms warmup runs
270
+ break if cycles >= POW_2_30
266
271
  cycles *= 2
267
272
  end
268
273
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: benchmark-ips
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.2
4
+ version: 2.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Phoenix
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-04 00:00:00.000000000 Z
11
+ date: 2020-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -90,7 +90,7 @@ licenses:
90
90
  - MIT
91
91
  metadata:
92
92
  homepage_uri: https://github.com/evanphx/benchmark-ips
93
- post_install_message:
93
+ post_install_message:
94
94
  rdoc_options:
95
95
  - "--main"
96
96
  - README.md
@@ -108,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  version: '0'
109
109
  requirements: []
110
110
  rubygems_version: 3.1.2
111
- signing_key:
111
+ signing_key:
112
112
  specification_version: 4
113
113
  summary: An iterations per second enhancement to Benchmark.
114
114
  test_files: []