benchmark_driver 0.8.3 → 0.8.4

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: 2cb04d95b9ea0dbd94d39fd405b9f0c3eb564b858dafa440cdac4166591c898b
4
- data.tar.gz: 532e0afcfce2eae4e7ada1541da6b2177c9b977d6c554036cef31745888aceb7
3
+ metadata.gz: 716469dcf118d6d62f9efcd91ff10b9efb1f3f80c294624ba937009e05ef4409
4
+ data.tar.gz: 40e915e4b4452b8d58fc3552bc1e91a13af14ca91b6cbe890fa6d057d69cbcb4
5
5
  SHA512:
6
- metadata.gz: 8092ecb340ba7078548a0dc77b4b16e4d01dceef20f6151b05b48be086ca7cde011b2595253377cb273a26494fc6f489b1eccf0ee23de799d617f9a78f565e31
7
- data.tar.gz: fc28493442f8d45ed310a80cd7f5b594825789189de5a716ab2e87be08f80b644bec633590b4b52ad28d3a1d98989ddca4e7319e6f9bf5de1411f1e959c734c6
6
+ metadata.gz: 22b3eee6183866064336dd1ce532a86a8e7d61df3f03d3e1898e17d46b6cd4dbc78be2a2704563bc00dd46747e14d1d22a5d87c4ffcdc2a4f51f31a3fb1d1e6e
7
+ data.tar.gz: ec7040d0316de68c74ddf1c7b69f9e4e2776fa954693c23fa328bf416e53b990dc0fe20c00a7a27eb31603c78c899abcf86ed65bbbcf3aa4a947fb70ab247414
@@ -5,9 +5,13 @@ rvm:
5
5
  - 2.3.6
6
6
  - 2.4.3
7
7
  - 2.5.0
8
+ - ruby-head
9
+ cache: bundler
8
10
  branches:
9
11
  only:
10
12
  - master
13
+ before_install:
14
+ - gem update --system
11
15
  script:
12
16
  - bundle exec rake ruby_examples
13
17
  - bundle exec rake yaml_examples
@@ -1,3 +1,7 @@
1
+ # v0.8.4
2
+
3
+ - Add `loop_count` option to Ruby interface
4
+
1
5
  # v0.8.3
2
6
 
3
7
  - Make benchmark\_driver runnable when Bundler is not installed
@@ -14,7 +18,7 @@
14
18
  # v0.8.0
15
19
 
16
20
  - Force using :exec runner for YAML interface
17
- - Fix bug that executables become emmpty
21
+ - Fix bug that executables become empty
18
22
 
19
23
  # v0.7.2
20
24
 
@@ -28,7 +32,7 @@
28
32
  # v0.7.0
29
33
 
30
34
  - Change Ruby interface for specifying prelude and script
31
- - #prelude= is remaed to #prelude
35
+ - #prelude= is renamed to #prelude
32
36
  - `script:` is no longer a keyword argument
33
37
  - Add Eval runner and it's made default for Ruby interface when script is String
34
38
 
@@ -0,0 +1,13 @@
1
+ require 'benchmark/driver'
2
+
3
+ class Array
4
+ alias_method :blank?, :empty?
5
+ end
6
+
7
+ Benchmark.driver do |x|
8
+ x.prelude %{ array = [] }
9
+ x.report 'Array#empty?', %{ array.empty? }
10
+ x.report 'Array#blank?', %{ array.blank? }
11
+ x.loop_count 10000000
12
+ x.compare!
13
+ end
@@ -5,6 +5,7 @@ class Benchmark::Driver::RubyDslParser
5
5
  # @param [Symbol] output
6
6
  def initialize(runner: nil, output: :ips)
7
7
  @prelude = nil
8
+ @loop_count = nil
8
9
  @jobs = []
9
10
  @runner = runner
10
11
  @execs = nil
@@ -18,6 +19,7 @@ class Benchmark::Driver::RubyDslParser
18
19
  def configuration
19
20
  @jobs.each do |job|
20
21
  job.prelude = @prelude
22
+ job.loop_count = @loop_count
21
23
  end
22
24
  Benchmark::Driver::Configuration.new(@jobs).tap do |c|
23
25
  c.runner_options = Benchmark::Driver::Configuration::RunnerOptions.new(@runner, @execs, nil, @bundler)
@@ -69,4 +71,8 @@ class Benchmark::Driver::RubyDslParser
69
71
  def compare!
70
72
  @compare = true
71
73
  end
74
+
75
+ def loop_count(count)
76
+ @loop_count = count
77
+ end
72
78
  end
@@ -1,5 +1,5 @@
1
1
  module Benchmark
2
2
  module Driver
3
- VERSION = '0.8.3'
3
+ VERSION = '0.8.4'
4
4
  end
5
5
  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.8.3
4
+ version: 0.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takashi Kokubun
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-12-28 00:00:00.000000000 Z
11
+ date: 2017-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -62,6 +62,7 @@ files:
62
62
  - examples/call_erb.rb
63
63
  - examples/call_interpolation.rb
64
64
  - examples/eval_blank.rb
65
+ - examples/eval_blank_loop.rb
65
66
  - examples/eval_interpolation.rb
66
67
  - examples/exec_blank.rb
67
68
  - examples/exec_blank_simple.rb