benchmark-interface 0.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 +7 -0
- data/.travis.yml +39 -0
- data/Gemfile +2 -0
- data/LICENCE +7 -0
- data/README.md +237 -0
- data/benchmark-interface.gemspec +20 -0
- data/bin/benchmark +15 -0
- data/examples/bench9000.rb +23 -0
- data/examples/bench9000micro.rb +31 -0
- data/examples/benchmark.rb +40 -0
- data/examples/bips.rb +34 -0
- data/examples/clamp.rb +17 -0
- data/examples/interface.rb +13 -0
- data/examples/long.rb +9 -0
- data/examples/mri.rb +15 -0
- data/examples/perfer.rb +25 -0
- data/examples/rbench.rb +46 -0
- data/examples/readme.rb +12 -0
- data/examples/script.rb +14 -0
- data/lib/benchmark-interface.rb +40 -0
- data/lib/benchmark-interface/backends/bench9000.rb +87 -0
- data/lib/benchmark-interface/backends/benchmark.rb +68 -0
- data/lib/benchmark-interface/backends/bips.rb +49 -0
- data/lib/benchmark-interface/backends/simple.rb +38 -0
- data/lib/benchmark-interface/benchmark-set.rb +85 -0
- data/lib/benchmark-interface/benchmark.rb +72 -0
- data/lib/benchmark-interface/frontends/bench9000.rb +21 -0
- data/lib/benchmark-interface/frontends/bench9000micro.rb +19 -0
- data/lib/benchmark-interface/frontends/benchmark.rb +50 -0
- data/lib/benchmark-interface/frontends/bips.rb +40 -0
- data/lib/benchmark-interface/frontends/mri.rb +84 -0
- data/lib/benchmark-interface/frontends/perfer.rb +27 -0
- data/lib/benchmark-interface/frontends/rbench.rb +64 -0
- data/lib/benchmark-interface/require.rb +38 -0
- data/lib/benchmark-interface/run.rb +111 -0
- data/lib/benchmark-interface/version.rb +13 -0
- data/tests/expected/bench9000-bips.txt +8 -0
- data/tests/expected/bench9000-bm.txt +2 -0
- data/tests/expected/bench9000-bmbm.txt +2 -0
- data/tests/expected/bench9000-simple.txt +2 -0
- data/tests/expected/bench9000micro-bips.txt +8 -0
- data/tests/expected/bench9000micro-bm.txt +2 -0
- data/tests/expected/bench9000micro-bmbm.txt +2 -0
- data/tests/expected/bench9000micro-simple.txt +2 -0
- data/tests/expected/benchmark-bips.txt +72 -0
- data/tests/expected/benchmark-bm.txt +12 -0
- data/tests/expected/benchmark-bmbm.txt +12 -0
- data/tests/expected/benchmark-simple.txt +22 -0
- data/tests/expected/bips-bips.txt +2 -0
- data/tests/expected/bips-bm.txt +7 -0
- data/tests/expected/bips-bmbm.txt +7 -0
- data/tests/expected/bips-simple.txt +11 -0
- data/tests/expected/interface-bips.txt +24 -0
- data/tests/expected/interface-bm.txt +4 -0
- data/tests/expected/interface-bmbm.txt +4 -0
- data/tests/expected/interface-simple.txt +6 -0
- data/tests/expected/long-bips.txt +9 -0
- data/tests/expected/long-bm.txt +2 -0
- data/tests/expected/long-bmbm.txt +2 -0
- data/tests/expected/long-simple.txt +2 -0
- data/tests/expected/mri-bips.txt +9 -0
- data/tests/expected/mri-bm.txt +2 -0
- data/tests/expected/mri-bmbm.txt +2 -0
- data/tests/expected/mri-simple.txt +2 -0
- data/tests/expected/perfer-bips.txt +20 -0
- data/tests/expected/perfer-bm.txt +4 -0
- data/tests/expected/perfer-bmbm.txt +4 -0
- data/tests/expected/perfer-simple.txt +5 -0
- data/tests/expected/rbench-bips.txt +42 -0
- data/tests/expected/rbench-bm.txt +7 -0
- data/tests/expected/rbench-bmbm.txt +7 -0
- data/tests/expected/rbench-simple.txt +12 -0
- data/tests/expected/readme-bips.txt +18 -0
- data/tests/expected/readme-bm.txt +3 -0
- data/tests/expected/readme-bmbm.txt +3 -0
- data/tests/expected/readme-simple.txt +4 -0
- data/tests/expected/script-bips.txt +18 -0
- data/tests/expected/script-bm.txt +3 -0
- data/tests/expected/script-bmbm.txt +3 -0
- data/tests/expected/script-simple.txt +4 -0
- data/tests/rewritten/mri.rb +15 -0
- data/tests/tests.rb +73 -0
- data/tests/tools/squash.rb +63 -0
- metadata +130 -0
@@ -0,0 +1,20 @@
|
|
1
|
+
This benchmark set contains blocks that want a number of iterations - running all iterations XXX times
|
2
|
+
These are long benchmarks - we're increasing warmup and sample time
|
3
|
+
Warming up --------------------------------------
|
4
|
+
clamp_a XXX i/100ms
|
5
|
+
clamp_b XXX i/100ms
|
6
|
+
clamp_a XXX i/100ms
|
7
|
+
clamp_b XXX i/100ms
|
8
|
+
clamp_a XXX i/100ms
|
9
|
+
clamp_b XXX i/100ms
|
10
|
+
Calculating -------------------------------------
|
11
|
+
clamp_a XXX (XXX%) i/s - XXX
|
12
|
+
clamp_b XXX (XXX%) i/s - XXX
|
13
|
+
clamp_a XXX (XXX%) i/s - XXX
|
14
|
+
clamp_b XXX (XXX%) i/s - XXX
|
15
|
+
clamp_a XXX (XXX%) i/s - XXX
|
16
|
+
clamp_b XXX (XXX%) i/s - XXX
|
17
|
+
|
18
|
+
Comparison:
|
19
|
+
XXX
|
20
|
+
|
@@ -0,0 +1,42 @@
|
|
1
|
+
Warming up --------------------------------------
|
2
|
+
clamp_a1 XXX i/100ms
|
3
|
+
clamp_b1 XXX i/100ms
|
4
|
+
clamp2-clamp_a2-one XXX i/100ms
|
5
|
+
clamp2-clamp_a2-two XXX i/100ms
|
6
|
+
clamp2-clamp_b2-one XXX i/100ms
|
7
|
+
clamp2-clamp_b2-two XXX i/100ms
|
8
|
+
clamp_a1 XXX i/100ms
|
9
|
+
clamp_b1 XXX i/100ms
|
10
|
+
clamp2-clamp_a2-one XXX i/100ms
|
11
|
+
clamp2-clamp_a2-two XXX i/100ms
|
12
|
+
clamp2-clamp_b2-one XXX i/100ms
|
13
|
+
clamp2-clamp_b2-two XXX i/100ms
|
14
|
+
clamp_a1 XXX i/100ms
|
15
|
+
clamp_b1 XXX i/100ms
|
16
|
+
clamp2-clamp_a2-one XXX i/100ms
|
17
|
+
clamp2-clamp_a2-two XXX i/100ms
|
18
|
+
clamp2-clamp_b2-one XXX i/100ms
|
19
|
+
clamp2-clamp_b2-two XXX i/100ms
|
20
|
+
Calculating -------------------------------------
|
21
|
+
clamp_a1 XXX (XXX%) i/s - XXX
|
22
|
+
clamp_b1 XXX (XXX%) i/s - XXX
|
23
|
+
clamp2-clamp_a2-one XXX (XXX%) i/s - XXX
|
24
|
+
clamp2-clamp_a2-two XXX (XXX%) i/s - XXX
|
25
|
+
clamp2-clamp_b2-one XXX (XXX%) i/s - XXX
|
26
|
+
clamp2-clamp_b2-two XXX (XXX%) i/s - XXX
|
27
|
+
clamp_a1 XXX (XXX%) i/s - XXX
|
28
|
+
clamp_b1 XXX (XXX%) i/s - XXX
|
29
|
+
clamp2-clamp_a2-one XXX (XXX%) i/s - XXX
|
30
|
+
clamp2-clamp_a2-two XXX (XXX%) i/s - XXX
|
31
|
+
clamp2-clamp_b2-one XXX (XXX%) i/s - XXX
|
32
|
+
clamp2-clamp_b2-two XXX (XXX%) i/s - XXX
|
33
|
+
clamp_a1 XXX (XXX%) i/s - XXX
|
34
|
+
clamp_b1 XXX (XXX%) i/s - XXX
|
35
|
+
clamp2-clamp_a2-one XXX (XXX%) i/s - XXX
|
36
|
+
clamp2-clamp_a2-two XXX (XXX%) i/s - XXX
|
37
|
+
clamp2-clamp_b2-one XXX (XXX%) i/s - XXX
|
38
|
+
clamp2-clamp_b2-two XXX (XXX%) i/s - XXX
|
39
|
+
|
40
|
+
Comparison:
|
41
|
+
XXX
|
42
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Warming up --------------------------------------
|
2
|
+
mul XXX i/100ms
|
3
|
+
pow XXX i/100ms
|
4
|
+
mul XXX i/100ms
|
5
|
+
pow XXX i/100ms
|
6
|
+
mul XXX i/100ms
|
7
|
+
pow XXX i/100ms
|
8
|
+
Calculating -------------------------------------
|
9
|
+
mul XXX (XXX%) i/s - XXX
|
10
|
+
pow XXX (XXX%) i/s - XXX
|
11
|
+
mul XXX (XXX%) i/s - XXX
|
12
|
+
pow XXX (XXX%) i/s - XXX
|
13
|
+
mul XXX (XXX%) i/s - XXX
|
14
|
+
pow XXX (XXX%) i/s - XXX
|
15
|
+
|
16
|
+
Comparison:
|
17
|
+
XXX
|
18
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Warming up --------------------------------------
|
2
|
+
clamp_a XXX i/100ms
|
3
|
+
clamp_b XXX i/100ms
|
4
|
+
clamp_a XXX i/100ms
|
5
|
+
clamp_b XXX i/100ms
|
6
|
+
clamp_a XXX i/100ms
|
7
|
+
clamp_b XXX i/100ms
|
8
|
+
Calculating -------------------------------------
|
9
|
+
clamp_a XXX (XXX%) i/s - XXX
|
10
|
+
clamp_b XXX (XXX%) i/s - XXX
|
11
|
+
clamp_a XXX (XXX%) i/s - XXX
|
12
|
+
clamp_b XXX (XXX%) i/s - XXX
|
13
|
+
clamp_a XXX (XXX%) i/s - XXX
|
14
|
+
clamp_b XXX (XXX%) i/s - XXX
|
15
|
+
|
16
|
+
Comparison:
|
17
|
+
XXX
|
18
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. This
|
2
|
+
# code is released under a tri EPL/GPL/LGPL license. You can use it,
|
3
|
+
# redistribute it and/or modify it under the terms of the:
|
4
|
+
#
|
5
|
+
# Eclipse Public License version 1.0
|
6
|
+
# GNU General Public License version 2
|
7
|
+
# GNU Lesser General Public License version 2.1
|
8
|
+
|
9
|
+
array = [1, 2, 3]
|
10
|
+
|
11
|
+
i = 0
|
12
|
+
BenchmarkInterface.benchmark { i = 0; while i < 30_000_000
|
13
|
+
i += 1
|
14
|
+
array.length
|
15
|
+
end }
|
data/tests/tests.rb
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. This
|
4
|
+
# code is released under a tri EPL/GPL/LGPL license. You can use it,
|
5
|
+
# redistribute it and/or modify it under the terms of the:
|
6
|
+
#
|
7
|
+
# Eclipse Public License version 1.0
|
8
|
+
# GNU General Public License version 2
|
9
|
+
# GNU Lesser General Public License version 2.1
|
10
|
+
|
11
|
+
test_ruby = ENV['TEST_RUBY'] || 'ruby'
|
12
|
+
version = RUBY_VERSION.split('.').first(2).map(&:to_i)
|
13
|
+
earlier_than_21 = version[0] < 2 || (version[0] == 2 && version[1] < 1) || test_ruby.include?('topaz')
|
14
|
+
|
15
|
+
regenerate = ARGV.delete('--regenerate')
|
16
|
+
resquash = ARGV.delete('--resquash')
|
17
|
+
|
18
|
+
examples = Dir.glob('examples/*.rb')
|
19
|
+
examples.delete('examples/clamp.rb')
|
20
|
+
|
21
|
+
if ARGV.empty?
|
22
|
+
backends = ['--simple', '--bm', '--bmbm', '--bips']
|
23
|
+
else
|
24
|
+
backends = ARGV
|
25
|
+
end
|
26
|
+
|
27
|
+
failed = false
|
28
|
+
|
29
|
+
test_example_backend = Proc.new do |example, backend, options|
|
30
|
+
puts "$ #{example} #{backend} #{options}"
|
31
|
+
|
32
|
+
expected_file = "tests/expected/#{File.basename(example, '.rb')}-#{backend[2..-1]}.txt"
|
33
|
+
|
34
|
+
if resquash
|
35
|
+
resquashed = `cat #{expected_file} | tests/tools/squash.rb`
|
36
|
+
File.write expected_file, resquashed
|
37
|
+
else
|
38
|
+
actual = `#{test_ruby} bin/benchmark #{example} #{backend} #{options} | tee /dev/tty | tests/tools/squash.rb`
|
39
|
+
|
40
|
+
if regenerate
|
41
|
+
File.write expected_file, actual
|
42
|
+
else
|
43
|
+
expected = File.read expected_file
|
44
|
+
if expected != actual
|
45
|
+
puts 'not as expected!'
|
46
|
+
puts 'expected:'
|
47
|
+
puts expected
|
48
|
+
puts 'actual:'
|
49
|
+
puts actual
|
50
|
+
failed = true
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
examples.each do |example|
|
57
|
+
backends.each do |backend|
|
58
|
+
if example == 'examples/mri.rb'
|
59
|
+
test_example_backend.call example, backend, '' unless earlier_than_21
|
60
|
+
|
61
|
+
begin
|
62
|
+
`cp tests/rewritten/mri.rb mri-rewrite-cache.rb`
|
63
|
+
test_example_backend.call example, backend, '--use-cache'
|
64
|
+
ensure
|
65
|
+
`rm -f mri-rewrite-cache.rb`
|
66
|
+
end
|
67
|
+
else
|
68
|
+
test_example_backend.call example, backend, ''
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
abort if failed
|
@@ -0,0 +1,63 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: UTF-8
|
3
|
+
|
4
|
+
# Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. This
|
5
|
+
# code is released under a tri EPL/GPL/LGPL license. You can use it,
|
6
|
+
# redistribute it and/or modify it under the terms of the:
|
7
|
+
#
|
8
|
+
# Eclipse Public License version 1.0
|
9
|
+
# GNU General Public License version 2
|
10
|
+
# GNU Lesser General Public License version 2.1
|
11
|
+
|
12
|
+
state = :normal
|
13
|
+
last_xxx = false
|
14
|
+
|
15
|
+
ARGF.set_encoding(Encoding::UTF_8) if defined?(Encoding)
|
16
|
+
|
17
|
+
ARGF.each_line do |line|
|
18
|
+
|
19
|
+
# Squash multiple whitespace into a single space
|
20
|
+
line.gsub! /\s+/, ' '
|
21
|
+
|
22
|
+
# Squash any numbers into XXX
|
23
|
+
line.gsub! /\b\d+(\.\d+)?[kMBTQs]?\b/, 'XXX'
|
24
|
+
|
25
|
+
# Squash ±
|
26
|
+
line.gsub! /±\s*/, ''
|
27
|
+
|
28
|
+
# Squash bips' XXX in XXX to just XXX
|
29
|
+
line.gsub! /XXX in XXX/, 'XXX'
|
30
|
+
|
31
|
+
# Squash whitespace out of ( XXX )
|
32
|
+
line.gsub! /\(\s*XXX\s*\)/, '(XXX)'
|
33
|
+
|
34
|
+
# Remove
|
35
|
+
if line.strip == 'These are short benchmarks - we\'re running each XXX times so they take about a second'
|
36
|
+
line = nil
|
37
|
+
end
|
38
|
+
|
39
|
+
# Turn any lines following Comparison: into XXX as the order can change
|
40
|
+
if state == :normal
|
41
|
+
if line && line.strip == 'Comparison:'
|
42
|
+
state = :comparison
|
43
|
+
end
|
44
|
+
elsif state == :comparison
|
45
|
+
if line && line.strip.empty?
|
46
|
+
state = :normal
|
47
|
+
else
|
48
|
+
line = ' XXX'
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
if line && line.strip == 'XXX'
|
53
|
+
if last_xxx
|
54
|
+
line = nil
|
55
|
+
else
|
56
|
+
last_xxx = true
|
57
|
+
end
|
58
|
+
else
|
59
|
+
last_xxx = false
|
60
|
+
end
|
61
|
+
|
62
|
+
puts line if line
|
63
|
+
end
|
metadata
ADDED
@@ -0,0 +1,130 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: benchmark-interface
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '0.1'
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chris Seaton
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-05-19 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: A new format for writing Ruby benchmarks, and a tool that lets you run
|
14
|
+
benchmarks written in many formats with many different benchmarking tools
|
15
|
+
email:
|
16
|
+
- chris@chrisseaton.com
|
17
|
+
executables:
|
18
|
+
- benchmark
|
19
|
+
extensions: []
|
20
|
+
extra_rdoc_files: []
|
21
|
+
files:
|
22
|
+
- ".travis.yml"
|
23
|
+
- Gemfile
|
24
|
+
- LICENCE
|
25
|
+
- README.md
|
26
|
+
- benchmark-interface.gemspec
|
27
|
+
- bin/benchmark
|
28
|
+
- examples/bench9000.rb
|
29
|
+
- examples/bench9000micro.rb
|
30
|
+
- examples/benchmark.rb
|
31
|
+
- examples/bips.rb
|
32
|
+
- examples/clamp.rb
|
33
|
+
- examples/interface.rb
|
34
|
+
- examples/long.rb
|
35
|
+
- examples/mri.rb
|
36
|
+
- examples/perfer.rb
|
37
|
+
- examples/rbench.rb
|
38
|
+
- examples/readme.rb
|
39
|
+
- examples/script.rb
|
40
|
+
- lib/benchmark-interface.rb
|
41
|
+
- lib/benchmark-interface/backends/bench9000.rb
|
42
|
+
- lib/benchmark-interface/backends/benchmark.rb
|
43
|
+
- lib/benchmark-interface/backends/bips.rb
|
44
|
+
- lib/benchmark-interface/backends/simple.rb
|
45
|
+
- lib/benchmark-interface/benchmark-set.rb
|
46
|
+
- lib/benchmark-interface/benchmark.rb
|
47
|
+
- lib/benchmark-interface/frontends/bench9000.rb
|
48
|
+
- lib/benchmark-interface/frontends/bench9000micro.rb
|
49
|
+
- lib/benchmark-interface/frontends/benchmark.rb
|
50
|
+
- lib/benchmark-interface/frontends/bips.rb
|
51
|
+
- lib/benchmark-interface/frontends/mri.rb
|
52
|
+
- lib/benchmark-interface/frontends/perfer.rb
|
53
|
+
- lib/benchmark-interface/frontends/rbench.rb
|
54
|
+
- lib/benchmark-interface/require.rb
|
55
|
+
- lib/benchmark-interface/run.rb
|
56
|
+
- lib/benchmark-interface/version.rb
|
57
|
+
- tests/expected/bench9000-bips.txt
|
58
|
+
- tests/expected/bench9000-bm.txt
|
59
|
+
- tests/expected/bench9000-bmbm.txt
|
60
|
+
- tests/expected/bench9000-simple.txt
|
61
|
+
- tests/expected/bench9000micro-bips.txt
|
62
|
+
- tests/expected/bench9000micro-bm.txt
|
63
|
+
- tests/expected/bench9000micro-bmbm.txt
|
64
|
+
- tests/expected/bench9000micro-simple.txt
|
65
|
+
- tests/expected/benchmark-bips.txt
|
66
|
+
- tests/expected/benchmark-bm.txt
|
67
|
+
- tests/expected/benchmark-bmbm.txt
|
68
|
+
- tests/expected/benchmark-simple.txt
|
69
|
+
- tests/expected/bips-bips.txt
|
70
|
+
- tests/expected/bips-bm.txt
|
71
|
+
- tests/expected/bips-bmbm.txt
|
72
|
+
- tests/expected/bips-simple.txt
|
73
|
+
- tests/expected/interface-bips.txt
|
74
|
+
- tests/expected/interface-bm.txt
|
75
|
+
- tests/expected/interface-bmbm.txt
|
76
|
+
- tests/expected/interface-simple.txt
|
77
|
+
- tests/expected/long-bips.txt
|
78
|
+
- tests/expected/long-bm.txt
|
79
|
+
- tests/expected/long-bmbm.txt
|
80
|
+
- tests/expected/long-simple.txt
|
81
|
+
- tests/expected/mri-bips.txt
|
82
|
+
- tests/expected/mri-bm.txt
|
83
|
+
- tests/expected/mri-bmbm.txt
|
84
|
+
- tests/expected/mri-simple.txt
|
85
|
+
- tests/expected/perfer-bips.txt
|
86
|
+
- tests/expected/perfer-bm.txt
|
87
|
+
- tests/expected/perfer-bmbm.txt
|
88
|
+
- tests/expected/perfer-simple.txt
|
89
|
+
- tests/expected/rbench-bips.txt
|
90
|
+
- tests/expected/rbench-bm.txt
|
91
|
+
- tests/expected/rbench-bmbm.txt
|
92
|
+
- tests/expected/rbench-simple.txt
|
93
|
+
- tests/expected/readme-bips.txt
|
94
|
+
- tests/expected/readme-bm.txt
|
95
|
+
- tests/expected/readme-bmbm.txt
|
96
|
+
- tests/expected/readme-simple.txt
|
97
|
+
- tests/expected/script-bips.txt
|
98
|
+
- tests/expected/script-bm.txt
|
99
|
+
- tests/expected/script-bmbm.txt
|
100
|
+
- tests/expected/script-simple.txt
|
101
|
+
- tests/rewritten/mri.rb
|
102
|
+
- tests/tests.rb
|
103
|
+
- tests/tools/squash.rb
|
104
|
+
homepage: https://github.com/jruby/benchmark-interface
|
105
|
+
licenses:
|
106
|
+
- EPL-1.0
|
107
|
+
- GPL-2.0
|
108
|
+
- LGPL-2.1
|
109
|
+
metadata: {}
|
110
|
+
post_install_message:
|
111
|
+
rdoc_options: []
|
112
|
+
require_paths:
|
113
|
+
- lib
|
114
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
124
|
+
requirements: []
|
125
|
+
rubyforge_project:
|
126
|
+
rubygems_version: 2.5.1
|
127
|
+
signing_key:
|
128
|
+
specification_version: 4
|
129
|
+
summary: One Ruby benchmarking interface to rule them all
|
130
|
+
test_files: []
|