benchmark_driver 0.4.0 → 0.4.1

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
  SHA1:
3
- metadata.gz: 771d93093383594ac93a9f3456b646f9ef484578
4
- data.tar.gz: 41b2b41209e834a8983dad25843188325f8fb009
3
+ metadata.gz: 446c31cb4564a0a5870226e065218e02eead88a1
4
+ data.tar.gz: 2e913d82e9cbd2d1b3502e436afb75336450da95
5
5
  SHA512:
6
- metadata.gz: 697ed2bab69c631bb9104adae293105b323b7ccb3321c123c85a18f44f5bb5a4e352fc06257b637233d8dbe73cb7ebc19aa63f93c8f53e8b9dbf10daa4c13bf9
7
- data.tar.gz: ba4fd20c4dc8b506fa2971416446ba86594604c336b0a728aef071d385a3f46e7ea41f34e6061c0ace32bb61412d488fdfd7d2719b39cd2541b9ef8cb3f453c3
6
+ metadata.gz: f1658faad392b98352a6111dba2eb89fb69fad81e177b007e8f824cac018a3954a7abbab996cc3a313c7af5b22d5ffddcf154f5112e34ff24a7cb8cefacc146c
7
+ data.tar.gz: 2caad3cd2656fefeae2609d3f2ccc1e3687ed883369fa19ae0540a9aca7c1fa1af038d75d5eea13962532012a100dcd2c5c490dc6055ae03dde4a376c6aad2c3
data/.gitignore CHANGED
@@ -6,3 +6,4 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /Gemfile.lock
data/CHANGELOG.md ADDED
@@ -0,0 +1,50 @@
1
+ # v0.4.1
2
+
3
+ - Increase the number of pasted script in one loop: 50 -> 1000
4
+ - Add `--dir` option to override `__dir__`
5
+
6
+ # v0.4.0
7
+
8
+ - **Full scratch**: v0.1...v0.3 has no relationship with v0.4
9
+ - Plugin support for runner, output
10
+ - Add initial limited Ruby interface in addition to previous YAML input
11
+ - Add new `call` runner for Ruby and `exec` runner for existing functionality
12
+ - Support repeating multiple times and using the best result
13
+ - Add `compare!` switching
14
+ - Gradual loop time estimation for specific duration
15
+ - Real-time incremental output during benchmark execution
16
+ - Paste the same script 50 times in one loop
17
+
18
+ # v0.3.0
19
+
20
+ - Rename `benchmark_driver` command to `benchmark-driver`
21
+ - Internally use `Benchmark::Driver` namespace instead of `BenchmarkDriver`
22
+
23
+ # v0.2.4
24
+
25
+ - Allow specifying multiple rbenv executables at once
26
+
27
+ # v0.2.3
28
+
29
+ - Add `--rbenv` option to specify executables in rbenv
30
+
31
+ # v0.2.2
32
+
33
+ - Fix loop count option bug
34
+
35
+ # v0.2.1
36
+
37
+ - Stop using `i` for wrapper script for loop
38
+ - Fix IPS option bug by @t8m8
39
+
40
+ # v0.2.0
41
+
42
+ - Allow specifying loop count
43
+
44
+ # v0.1.0
45
+
46
+ - Add `benchmark_driver` command that takes YAML input
47
+ - Runnable with multiple Ruby binaries
48
+ - Show actual time
49
+ - IPS reporter support
50
+ - Prelude and multiple benchmark scripts in one YAML
data/exe/benchmark-driver CHANGED
@@ -34,11 +34,14 @@ args = OptionParser.new do |o|
34
34
  abort "-r, --repeat-count must take Integer, but got #{v.inspect}"
35
35
  end
36
36
  end
37
+ o.on('--dir', 'Override __dir__ from "/tmp" to actual directory of YAML') do |v|
38
+ options[:dir] = v
39
+ end
37
40
  end.parse!(ARGV)
38
41
  abort "No YAML file is specified" if args.empty?
39
42
 
40
- args.each do |yaml|
41
- yaml = YAML.load(File.read(yaml))
43
+ args.each do |path|
44
+ yaml = YAML.load(File.read(path))
42
45
  Benchmark::Driver::Configuration.symbolize_keys!(yaml)
43
46
 
44
47
  begin
@@ -54,6 +57,11 @@ args.each do |yaml|
54
57
  case key
55
58
  when :compare
56
59
  config.output_options.compare = value
60
+ when :dir
61
+ dir = File.dirname(path)
62
+ config.jobs.each do |job|
63
+ job.prelude = "__dir__ = #{dir.dump}.freeze; #{job.prelude}"
64
+ end
57
65
  when :execs
58
66
  config.runner_options.executables = value
59
67
  when :repeat_count
@@ -1,5 +1,5 @@
1
1
  module Benchmark
2
2
  module Driver
3
- VERSION = '0.4.0'
3
+ VERSION = '0.4.1'
4
4
  end
5
5
  end
@@ -161,7 +161,7 @@ class Benchmark::Runner::Exec
161
161
  end
162
162
 
163
163
  class BenchmarkScript < Struct.new(:prelude, :script)
164
- BATCH_SIZE = 50
164
+ BATCH_SIZE = 1000
165
165
 
166
166
  def overhead_script(times)
167
167
  raise ArgumentError.new("Negative times: #{times}") if times < 0
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.4.0
4
+ version: 0.4.1
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-11-28 00:00:00.000000000 Z
11
+ date: 2017-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -48,8 +48,8 @@ extra_rdoc_files: []
48
48
  files:
49
49
  - ".gitignore"
50
50
  - ".travis.yml"
51
+ - CHANGELOG.md
51
52
  - Gemfile
52
- - Gemfile.lock
53
53
  - LICENSE.txt
54
54
  - README.md
55
55
  - Rakefile
data/Gemfile.lock DELETED
@@ -1,30 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- benchmark_driver (0.4.0)
5
-
6
- GEM
7
- remote: https://rubygems.org/
8
- specs:
9
- coderay (1.1.2)
10
- erubi (1.7.0)
11
- erubis (2.7.0)
12
- method_source (0.9.0)
13
- pry (0.11.1)
14
- coderay (~> 1.1.0)
15
- method_source (~> 0.9.0)
16
- rake (12.3.0)
17
-
18
- PLATFORMS
19
- ruby
20
-
21
- DEPENDENCIES
22
- benchmark_driver!
23
- bundler
24
- erubi
25
- erubis
26
- pry
27
- rake
28
-
29
- BUNDLED WITH
30
- 1.16.0