benchmark_driver 0.13.0 → 0.13.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +5 -0
- data/README.md +1 -1
- data/lib/benchmark_driver/runner/ips.rb +7 -5
- data/lib/benchmark_driver/runner/memory.rb +3 -2
- data/lib/benchmark_driver/runner/once.rb +3 -2
- data/lib/benchmark_driver/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 53657321ac74e0c39a11ae6b2ed12ad00e54aae56afc72895554bf7ed9ca2c4f
|
4
|
+
data.tar.gz: e201229fddbf15331045d7098df78b89a5e91a472c58af8b05dc299bafdc5b9f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a47674867279c0064e91f55bce5b4305f0b49866bf9c37f912dc3f4743e091df4d18de8645d0f005aef89112f996e4a86e50d6840352312ca9108cb69d8eccc
|
7
|
+
data.tar.gz: 9b34342a2989fd21197181e4a59083a313ed4f13e6a728a1918190299c0104faa6c90ee12d046a3a380f953785a2c7c148b2b2b5fa189d4f507e0cb4043760a9
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
|
+
# v0.13.1
|
2
|
+
|
3
|
+
- Respect a magic comment in `prelude`
|
4
|
+
|
1
5
|
# v0.13.0
|
2
6
|
|
3
7
|
- Add support for benchmark with different versions of gems and preludes
|
8
|
+
- Only YAML is supported for now, Ruby interface will come later
|
4
9
|
- [breaking change] Runner plugin interface is sightly changed
|
5
10
|
|
6
11
|
# v0.12.0
|
data/README.md
CHANGED
@@ -70,7 +70,7 @@ class BenchmarkDriver::Runner::Ips
|
|
70
70
|
# @param [BenchmarkDriver::Context] context
|
71
71
|
def run_warmup(job, context:)
|
72
72
|
warmup = WarmupScript.new(
|
73
|
-
|
73
|
+
preludes: [context.prelude, job.prelude],
|
74
74
|
script: job.script,
|
75
75
|
teardown: job.teardown,
|
76
76
|
loop_count: job.loop_count,
|
@@ -93,7 +93,7 @@ class BenchmarkDriver::Runner::Ips
|
|
93
93
|
# @return [BenchmarkDriver::Metrics]
|
94
94
|
def run_benchmark(job, context:)
|
95
95
|
benchmark = BenchmarkScript.new(
|
96
|
-
|
96
|
+
preludes: [context.prelude, job.prelude],
|
97
97
|
script: job.script,
|
98
98
|
teardown: job.teardown,
|
99
99
|
loop_count: job.loop_count,
|
@@ -136,15 +136,16 @@ class BenchmarkDriver::Runner::Ips
|
|
136
136
|
end
|
137
137
|
|
138
138
|
def execute(*args)
|
139
|
-
IO.popen(args, &:read) # handle stdout?
|
139
|
+
stdout = IO.popen(args, &:read) # handle stdout?
|
140
140
|
unless $?.success?
|
141
141
|
raise "Failed to execute: #{args.shelljoin} (status: #{$?.exitstatus})"
|
142
142
|
end
|
143
143
|
end
|
144
144
|
|
145
|
-
WarmupScript = ::BenchmarkDriver::Struct.new(:
|
145
|
+
WarmupScript = ::BenchmarkDriver::Struct.new(:preludes, :script, :teardown, :loop_count, :first_warmup_duration, :second_warmup_duration) do
|
146
146
|
# @param [String] result - A file to write result
|
147
147
|
def render(result:)
|
148
|
+
prelude = preludes.reject(&:nil?).reject(&:empty?).join("\n")
|
148
149
|
<<-RUBY
|
149
150
|
#{prelude}
|
150
151
|
|
@@ -188,9 +189,10 @@ File.write(#{result.dump}, [__bmdv_duration, __bmdv_loops].inspect)
|
|
188
189
|
# @param [String] script
|
189
190
|
# @param [String] teardown
|
190
191
|
# @param [Integer] loop_count
|
191
|
-
BenchmarkScript = ::BenchmarkDriver::Struct.new(:
|
192
|
+
BenchmarkScript = ::BenchmarkDriver::Struct.new(:preludes, :script, :teardown, :loop_count) do
|
192
193
|
# @param [String] result - A file to write result
|
193
194
|
def render(result:)
|
195
|
+
prelude = preludes.reject(&:nil?).reject(&:empty?).join("\n")
|
194
196
|
<<-RUBY
|
195
197
|
#{prelude}
|
196
198
|
|
@@ -62,7 +62,7 @@ class BenchmarkDriver::Runner::Memory
|
|
62
62
|
# @return [BenchmarkDriver::Metrics]
|
63
63
|
def run_benchmark(job, context:)
|
64
64
|
benchmark = BenchmarkScript.new(
|
65
|
-
|
65
|
+
preludes: [context.prelude, job.prelude],
|
66
66
|
script: job.script,
|
67
67
|
teardown: job.teardown,
|
68
68
|
loop_count: job.loop_count,
|
@@ -103,8 +103,9 @@ class BenchmarkDriver::Runner::Memory
|
|
103
103
|
# @param [String] script
|
104
104
|
# @param [String] teardown
|
105
105
|
# @param [Integer] loop_count
|
106
|
-
BenchmarkScript = ::BenchmarkDriver::Struct.new(:
|
106
|
+
BenchmarkScript = ::BenchmarkDriver::Struct.new(:preludes, :script, :teardown, :loop_count) do
|
107
107
|
def render
|
108
|
+
prelude = preludes.reject(&:nil?).reject(&:empty?).join("\n")
|
108
109
|
<<-RUBY
|
109
110
|
#{prelude}
|
110
111
|
#{while_loop(script, loop_count)}
|
@@ -51,7 +51,7 @@ class BenchmarkDriver::Runner::Once
|
|
51
51
|
# @return [Float] duration
|
52
52
|
def run_benchmark(job, context:)
|
53
53
|
benchmark = BenchmarkScript.new(
|
54
|
-
|
54
|
+
preludes: [context.prelude, job.prelude],
|
55
55
|
script: job.script,
|
56
56
|
teardown: job.teardown,
|
57
57
|
loop_count: job.loop_count,
|
@@ -90,9 +90,10 @@ class BenchmarkDriver::Runner::Once
|
|
90
90
|
# @param [String] script
|
91
91
|
# @param [String] teardown
|
92
92
|
# @param [Integer] loop_count
|
93
|
-
BenchmarkScript = ::BenchmarkDriver::Struct.new(:
|
93
|
+
BenchmarkScript = ::BenchmarkDriver::Struct.new(:preludes, :script, :teardown, :loop_count) do
|
94
94
|
# @param [String] result - A file to write result
|
95
95
|
def render(result:)
|
96
|
+
prelude = preludes.reject(&:nil?).reject(&:empty?).join("\n")
|
96
97
|
<<-RUBY
|
97
98
|
#{prelude}
|
98
99
|
__bmdv_before = Time.now
|
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.13.
|
4
|
+
version: 0.13.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: 2018-07-
|
11
|
+
date: 2018-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -143,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
143
143
|
version: '0'
|
144
144
|
requirements: []
|
145
145
|
rubyforge_project:
|
146
|
-
rubygems_version: 2.6
|
146
|
+
rubygems_version: 2.7.6
|
147
147
|
signing_key:
|
148
148
|
specification_version: 4
|
149
149
|
summary: Fully-featured accurate benchmark driver for Ruby
|