benchcc 0.0.5 → 0.0.6
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 +4 -4
- data/lib/benchcc/benchmark.rb +14 -12
- data/lib/benchcc/version.rb +1 -1
- data/spec/benchmark_spec.rb +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac43c2d0f69a588cc946b3b4694369b8557e6d2b
|
4
|
+
data.tar.gz: 0ffb3562be2ed2a3376c5b595c8df9bf726142d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d10754cb8c6c499c9125b8e015e6baebc7edbd9cd9a68bb9eacbd369cbd0e1d954756ad27f6cb6b55c099ec3fc1dc9b1daad85cdc96b94b97aee995cc3b4cf4
|
7
|
+
data.tar.gz: 93bb0a5d5d111dc4ff88e9689a71f89556986b880eeb2a3608c46783bffc8761b46eede21fe0d6284df13e0d5d489c8a9a875f90a9dbcd3325e7c3f1b264552d
|
data/lib/benchcc/benchmark.rb
CHANGED
@@ -20,9 +20,12 @@ module Benchcc
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
-
def benchmark(file, envs, timeout: 10,
|
24
|
-
|
25
|
-
|
23
|
+
def benchmark(file, envs, timeout: 10,
|
24
|
+
relative_to: File.dirname(file),
|
25
|
+
stderr: $stderr,
|
26
|
+
progressbar_format: "#{file} %p%% | %B |",
|
27
|
+
&block)
|
28
|
+
progress = ProgressBar.create(format: progressbar_format, total: envs.size)
|
26
29
|
data = []
|
27
30
|
envs.each do |env|
|
28
31
|
code = Renderer.new(relative_to).render(file, **env)
|
@@ -34,18 +37,17 @@ module Benchcc
|
|
34
37
|
end
|
35
38
|
progress.increment
|
36
39
|
end
|
40
|
+
|
41
|
+
def data.to_csv
|
42
|
+
return CSV.generate(headers: :first_row) do |csv|
|
43
|
+
csv << self.first.keys unless self.empty?
|
44
|
+
self.each { |line| csv << line.values }
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
37
48
|
return data
|
38
49
|
ensure
|
39
50
|
progress.finish
|
40
51
|
end
|
41
52
|
module_function :benchmark
|
42
|
-
|
43
|
-
def benchmark_to_csv(file, envs, timeout: 10, relative_to: File.dirname(file), &block)
|
44
|
-
data = benchmark(file, envs, timeout: timeout, relative_to: relative_to, &block)
|
45
|
-
return CSV.generate(headers: :first_row) do |csv|
|
46
|
-
csv << data.first.keys unless data.empty?
|
47
|
-
data.each { |line| csv << line.values }
|
48
|
-
end
|
49
|
-
end
|
50
|
-
module_function :benchmark_to_csv
|
51
53
|
end
|
data/lib/benchcc/version.rb
CHANGED
data/spec/benchmark_spec.rb
CHANGED
@@ -34,16 +34,16 @@ describe Benchcc.method(:benchmark) do
|
|
34
34
|
}
|
35
35
|
end
|
36
36
|
|
37
|
-
describe Benchcc.
|
37
|
+
describe 'Benchcc.benchmark(...).to_csv' do
|
38
38
|
it('should output to csv correctly') {
|
39
39
|
envs = [{x: 1, y:-1}, {x: 2, y:-2}, {x: 3, y:-3}]
|
40
40
|
Tempfile.create('') do |file|
|
41
41
|
file.write('<%= x %> <%= y %>')
|
42
42
|
file.flush
|
43
|
-
csv = Benchcc.
|
43
|
+
csv = Benchcc.benchmark(file.path, envs) { |str|
|
44
44
|
x, y = str.split(' ')
|
45
45
|
{x: x.to_i, y: y.to_i}
|
46
|
-
|
46
|
+
}.to_csv
|
47
47
|
expect(csv).to eq("x,y\n1,-1\n2,-2\n3,-3\n")
|
48
48
|
end
|
49
49
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: benchcc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Louis Dionne
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gnuplot
|