benchmark-ips 2.8.2 → 2.8.3

Sign up to get free protection for your applications and to get access to all the features.
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: []