bnchmrkr 0.0.2 → 0.1.0

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: 865d3a5f2015a2a17b83d3d7cfd6d5afa288746e
4
- data.tar.gz: ce9151c449de83712d5174a646c809e16cad45a7
3
+ metadata.gz: 214df34c63b9b084f735e0f68b852f7b133cac08
4
+ data.tar.gz: 0a62535f2639dfcab95c35c4a90740b8ba5b8207
5
5
  SHA512:
6
- metadata.gz: d95759bbf07da4be053570967b004472561c1d9c58b5d7a21fd4257526afab82e1a2d6b7ecdf3066652c66ee8df564e011f603da57867cc3031512b8c5acb0cf
7
- data.tar.gz: acc31c13b9f1ebd6005336a538870a16bc2a35127663aa87ecf990d9584f6cba51e9858a33c395426cea7ab29a6162dc8d1d5c104b1b273f3ff0db9b8ab64e98
6
+ metadata.gz: be45d3fd8037efeeea35eda76b1ebb2258d5b96a09e95fe5e525cf77f5907e243f7a7f3e2c5c6a20fb9b5a2ad5eff1546013a857f74a26fb7b6f35c723c2fabf
7
+ data.tar.gz: dedbf34a52fccd4e5a45387fc8bfc412cff22b0421d9380a5d59560644d445fbea82a5f4aaf5d26b2047228eba72fedb47ba2cb4cd92ce057f616e6e75a440aa
data/.reek ADDED
@@ -0,0 +1,36 @@
1
+ ---
2
+
3
+ Attribute:
4
+ enabled: false
5
+
6
+ # so judgy.. and without context
7
+ BooleanParameter:
8
+ enabled: false
9
+
10
+ ControlParameter:
11
+ enabled: false
12
+
13
+ DuplicateMethodCall:
14
+ enabled: false
15
+
16
+ NestedIterators:
17
+ max_allowed_nesting: 3
18
+
19
+ # more lacking context judgement - when _would_ you be ok with '!' ?
20
+ PrimaDonnaMethod:
21
+ enabled: false
22
+
23
+ # this feels a bit arbitrary.. maybe would make more sense if was an average
24
+ TooManyStatements:
25
+ max_statements: 15
26
+
27
+ # i don't name my exceptions specifically. that doesn't make me a bad person.
28
+ UncommunicativeVariableName:
29
+ accept: /^[a|b|e|f|i|j|k|l|m|r]$/
30
+
31
+ # or my comparators in ~sort() functions
32
+ ## https://github.com/troessner/reek/issues/886
33
+ UncommunicativeParameterName:
34
+ accept:
35
+ - a
36
+ - b
data/.travis.yml ADDED
@@ -0,0 +1,10 @@
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 2.0.0
5
+
6
+ notifications:
7
+ email: false
8
+
9
+ bundler_args: --without test --jobs 3 --retry 3
10
+ script: bundle exec rake test reek build
data/Gemfile CHANGED
@@ -2,8 +2,11 @@ ruby '2.0.0'
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
+ gem 'rake', '~> 10.5.0', '>= 10.5.0'
6
+
5
7
  group :development do
6
- gem 'jeweler', '~> 0'
8
+ gem 'jeweler', '~> 2.0.1', '>= 2.0.1'
9
+ gem 'reek', '~> 3.11', '>= 3.11'
7
10
  gem 'test-unit', '~> 3.0.0', '>= 3.0.0'
8
11
  end
9
12
 
data/Gemfile.lock CHANGED
@@ -1,20 +1,82 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- jeweler (0.11.1)
5
- rubyforge
6
- schacon-git (>= 1.1.1)
7
- json_pure (1.8.3)
4
+ addressable (2.4.0)
5
+ ast (2.2.0)
6
+ axiom-types (0.1.1)
7
+ descendants_tracker (~> 0.0.4)
8
+ ice_nine (~> 0.11.0)
9
+ thread_safe (~> 0.3, >= 0.3.1)
10
+ builder (3.2.2)
11
+ codeclimate-engine-rb (0.3.1)
12
+ virtus (~> 1.0)
13
+ coercible (1.0.0)
14
+ descendants_tracker (~> 0.0.1)
15
+ descendants_tracker (0.0.4)
16
+ thread_safe (~> 0.3, >= 0.3.1)
17
+ equalizer (0.0.11)
18
+ faraday (0.9.2)
19
+ multipart-post (>= 1.2, < 3)
20
+ git (1.3.0)
21
+ github_api (0.13.1)
22
+ addressable (~> 2.4.0)
23
+ descendants_tracker (~> 0.0.4)
24
+ faraday (~> 0.8, < 0.10)
25
+ hashie (>= 3.4)
26
+ multi_json (>= 1.7.5, < 2.0)
27
+ oauth2
28
+ hashie (3.4.3)
29
+ highline (1.7.8)
30
+ ice_nine (0.11.2)
31
+ jeweler (2.0.1)
32
+ builder
33
+ bundler (>= 1.0)
34
+ git (>= 1.2.5)
35
+ github_api
36
+ highline (>= 1.6.15)
37
+ nokogiri (>= 1.5.10)
38
+ rake
39
+ rdoc
40
+ json (1.8.3)
41
+ jwt (1.5.1)
42
+ mini_portile2 (2.0.0)
43
+ multi_json (1.11.2)
44
+ multi_xml (0.5.5)
45
+ multipart-post (2.0.0)
46
+ nokogiri (1.6.7.2)
47
+ mini_portile2 (~> 2.0.0.rc2)
48
+ oauth2 (1.1.0)
49
+ faraday (>= 0.8, < 0.10)
50
+ jwt (~> 1.0, < 1.5.2)
51
+ multi_json (~> 1.3)
52
+ multi_xml (~> 0.5)
53
+ rack (>= 1.2, < 3)
54
+ parser (2.3.0.6)
55
+ ast (~> 2.2)
8
56
  power_assert (0.2.7)
9
- rubyforge (2.0.4)
10
- json_pure (>= 1.1.7)
11
- schacon-git (1.2.2)
57
+ rack (1.6.4)
58
+ rainbow (2.1.0)
59
+ rake (10.5.0)
60
+ rdoc (4.2.2)
61
+ json (~> 1.4)
62
+ reek (3.11)
63
+ codeclimate-engine-rb (~> 0.3.1)
64
+ parser (~> 2.3, >= 2.3.0.6)
65
+ rainbow (~> 2.0)
12
66
  test-unit (3.0.9)
13
67
  power_assert
68
+ thread_safe (0.3.5)
69
+ virtus (1.0.5)
70
+ axiom-types (~> 0.1)
71
+ coercible (~> 1.0)
72
+ descendants_tracker (~> 0.0, >= 0.0.3)
73
+ equalizer (~> 0.0, >= 0.0.9)
14
74
 
15
75
  PLATFORMS
16
76
  ruby
17
77
 
18
78
  DEPENDENCIES
19
- jeweler (~> 0)
79
+ jeweler (~> 2.0.1, >= 2.0.1)
80
+ rake (~> 10.5.0, >= 10.5.0)
81
+ reek (~> 3.11, >= 3.11)
20
82
  test-unit (~> 3.0.0, >= 3.0.0)
data/README.md CHANGED
@@ -7,10 +7,10 @@ Bnchmrkr (Benchmarker) is a tool to help benchmark different method implementati
7
7
  it is driven by [Benchmark](http://ruby-doc.org/stdlib-2.0.0/libdoc/benchmark/rdoc/Benchmark.html)
8
8
 
9
9
  ## usage
10
+
10
11
  ### pre-built gem installation (stable)
11
12
 
12
- [RubyGems](http://rubygems.org/gems/bnchmrkr)
13
- [![Gem Version](https://badge.fury.io/rb/bnchmrkr.png)](http://badge.fury.io/rb/bnchmrkr)
13
+ [![Gem Version](https://badge.fury.io/rb/bnchmrkr.png)](https://rubygems.org/gems/bnchmrkr)
14
14
 
15
15
  ```sh
16
16
  gem install bnchmrkr
@@ -22,6 +22,8 @@ irb(main):001:0> require 'bnchmrkr'
22
22
 
23
23
  ### from-source installation (latest)
24
24
 
25
+ [![build status](https://travis-ci.org/chorankates/bnchmrkr.svg)](https://travis-ci.org/chorankates/bnchmrkr)
26
+
25
27
  ```sh
26
28
  git clone https://github.com/chorankates/bnchmrkr.git
27
29
  cd bnchmrkr
@@ -33,7 +35,7 @@ irb(main):001:0> require 'bnchmrkr'
33
35
  => true
34
36
  ```
35
37
 
36
- # examples
38
+ ## examples
37
39
 
38
40
  ```rb
39
41
  tester = Bnchmrkr.new({
@@ -74,7 +76,7 @@ overall:
74
76
  slowest => stat [0.076243]
75
77
  ```
76
78
 
77
- # instance methods
79
+ ## instance methods
78
80
  ```
79
81
  benchmark!
80
82
  count
data/Rakefile CHANGED
@@ -1,10 +1,19 @@
1
1
  require 'jeweler'
2
+ require 'rake'
3
+ require 'rake/clean'
2
4
  require 'rake/testtask'
5
+ require 'reek/rake/task'
6
+
7
+ BASEDIR = File.dirname(__FILE__)
8
+
9
+ $LOAD_PATH << File.join([BASEDIR, 'lib'])
10
+ $LOAD_PATH << BASEDIR
3
11
 
4
- $LOAD_PATH << File.join([File.dirname(__FILE__), 'lib'])
5
- $LOAD_PATH << File.dirname(__FILE__)
6
12
  require 'bnchmrkr'
7
13
 
14
+ CLEAN.include('bnchmrkr.gemspec')
15
+ CLOBBER.include('pkg/*')
16
+
8
17
  Jeweler::Tasks.new do |gem|
9
18
  gem.name = 'bnchmrkr'
10
19
  gem.summary = 'compare execution time'
@@ -29,10 +38,17 @@ namespace :test do
29
38
  t.verbose = true
30
39
  end
31
40
 
41
+ Rake::TestTask.new do |t|
42
+ t.name = 'examples'
43
+ t.libs << 'lib'
44
+ t.test_files = FileList['test/examples/**/*.rb']
45
+ t.verbose = true
46
+ end
47
+
32
48
  end
33
49
 
34
50
  desc 'run all tests'
35
- task :test => ['test:unit'] do
51
+ task :test => ['test:unit', 'test:examples'] do
36
52
  end
37
53
 
38
54
  desc 'run all examples'
@@ -41,4 +57,12 @@ task :examples do
41
57
  sh "time ruby #{file}"
42
58
  puts
43
59
  end
60
+ end
61
+
62
+ Reek::Rake::Task.new do |t|
63
+ t.config_file = File.join(BASEDIR, '.reek')
64
+ t.source_files = './**/*.rb'
65
+ t.reek_opts = '--no-wiki-links'
66
+ t.fail_on_error = false
67
+ t.verbose = true
44
68
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.1.0
data/lib/bnchmrkr.rb CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'benchmark'
4
4
 
5
+ # Bnchmrkr is a tool to help Benchmark.measure {} and compare different method implementations
5
6
  class Bnchmrkr
6
7
 
7
8
  attr_reader :count, :results
@@ -36,10 +37,14 @@ class Bnchmrkr
36
37
  def benchmark!
37
38
  @lambdas.each_pair do |name, l|
38
39
  1.upto(@count).each do |round|
39
- measure = Benchmark.measure {
40
- l.call
41
- }
42
- add_measure(name, measure)
40
+ begin
41
+ measure = Benchmark.measure {
42
+ l.call
43
+ }
44
+ add_measure(name, measure)
45
+ rescue => e
46
+ add_measure(sprintf('%s-failed', name).to_sym, Benchmark.measure {})
47
+ end
43
48
  end
44
49
  end
45
50
 
@@ -56,7 +61,8 @@ class Bnchmrkr
56
61
  string = String.new
57
62
  inspection = self.inspect
58
63
  return string unless inspection.nil? or inspection.has_key?(:overall)
59
- longest_key = 15 # TODO determine this dynamically
64
+
65
+ longest_key = inspection[:specific].keys.each { |i| i.length }.max.length + 5
60
66
 
61
67
  inspection[:specific].keys.each do |i|
62
68
  string << sprintf('%s:%s', i, "\n")
@@ -67,7 +73,13 @@ class Bnchmrkr
67
73
 
68
74
  string << sprintf('overall:%s', "\n")
69
75
  inspection[:overall].each_pair do |type, measure|
70
- string << sprintf(" %#{longest_key}s => %s [%s]%s", type, measure[:name], measure[:measure], "\n")
76
+ string << sprintf(" %#{longest_key}s => %s [%s]%s%s",
77
+ type,
78
+ measure[:name],
79
+ measure[:measure],
80
+ measure.has_key?(:faster_by) ? sprintf(' [faster by %s]', measure[:faster_by]) : '',
81
+ "\n"
82
+ )
71
83
  end
72
84
 
73
85
  string
@@ -109,14 +121,14 @@ class Bnchmrkr
109
121
  @slowest
110
122
  end
111
123
 
112
- # +a+ {:name => name, :measure => measure}
113
- # +b+ {:name => name, :measure => measure}
124
+ # +a+ Symbol that represents a known lambda
125
+ # +b+ Symbol that represents a known lambda
114
126
  # +mode+ :fastest, :slowest, :mean, :median, :total
115
127
  # return boolean if a is faster than b, false if invalid
116
128
  def is_faster?(a, b, mode = :total)
117
129
  result = calculate_per_lambda
118
- return false unless result.has_key?(a[:name]) and result.has_key?(b[:name])
119
- result[a[:name]][mode] < result[b[:name]][mode]
130
+ return false unless result.has_key?(a) and result.has_key?(b)
131
+ result[a][mode] < result[b][mode]
120
132
  end
121
133
 
122
134
  # +a+ {:name => name, :measure => measure}
@@ -129,14 +141,37 @@ class Bnchmrkr
129
141
 
130
142
  # +a+ {:name => name, :measure => measure}
131
143
  # +b+ {:name => name, :measure => measure}
132
- # return Float representing difference in measure, or false, if b is slower than a
133
- def faster_by(a, b, percent = true)
144
+ # +percent+ Boolean representing percent (String) or Float difference
145
+ # return Float representing difference in measures, or false, if b is slower than a
146
+ def faster_by_result(a, b, percent = true)
134
147
  return false if b[:measure] < a[:measure]
135
148
 
136
- faster = (b[:measure] - a[:measure]) / b[:measure]
149
+ faster = (b[:measure] - a[:measure]) / a[:measure]
137
150
  percent ? sprintf('%4f%', faster * 100) : faster
138
151
  end
139
152
 
153
+ # +a+ Symbol representing name of known lambda type
154
+ # +b+ Symbol representing name of known lambda type
155
+ # +percent+ Boolean representing percent (String) or Float difference
156
+ # return Float representing difference in measures, or false, if b is slower than a
157
+ def faster_by_type(a, b, percent = true)
158
+ fastest_a = fastest_by_type(a)
159
+ fastest_b = fastest_by_type(b)
160
+
161
+ return false if fastest_b < fastest_a
162
+
163
+ faster = (fastest_b - fastest_a) / fastest_a
164
+ percent ? sprintf('%4f%', faster * 100) : faster
165
+ end
166
+
167
+ def slower_by_type(a, b, percent = true)
168
+ ! faster_by_type(a, b, percent)
169
+ end
170
+
171
+ def slower_by_result(a, b, percent = true)
172
+ ! faster_by_result(a, b, percent)
173
+ end
174
+
140
175
  private
141
176
 
142
177
  def add_measure(name, measure)
@@ -156,9 +191,8 @@ class Bnchmrkr
156
191
  hash[name] = Hash.new
157
192
 
158
193
  total = 0
194
+ # TODO add the mode
159
195
  measures.collect {|m| total += m.real }
160
-
161
- # TODO do we want to determine the mode?
162
196
  hash[name][:fastest] = sorted.first.real
163
197
  hash[name][:slowest] = sorted.last.real
164
198
  hash[name][:mean] = sprintf('%5f', total / sorted.size)
@@ -181,6 +215,7 @@ class Bnchmrkr
181
215
  end
182
216
  end
183
217
 
218
+ @fastest[:faster_by] = self.faster_by_result(@fastest, @slowest)
184
219
  { :fastest => @fastest, :slowest => @slowest }
185
220
  end
186
221
 
@@ -0,0 +1,20 @@
1
+ require_relative File.expand_path(sprintf('%s/../../lib/bnchmrkr', File.dirname(__FILE__)))
2
+ require 'test-unit'
3
+
4
+ # run all examples, ensure non-0 exit code and non-nil output
5
+ class TestExamples < Test::Unit::TestCase
6
+
7
+ def setup; end
8
+
9
+ def test_all_examples
10
+ @files = Dir.glob(sprintf('%s/../../examples/*.rb', File.dirname(__FILE__)))
11
+
12
+ @files.each do |file|
13
+ raw = `ruby #{file}`
14
+
15
+ assert_true($?.success?)
16
+ assert_not_nil(raw)
17
+ end
18
+ end
19
+
20
+ end
@@ -1,6 +1,7 @@
1
1
  require_relative File.expand_path(sprintf('%s/../../lib/bnchmrkr', File.dirname(__FILE__)))
2
2
  require 'test-unit'
3
3
 
4
+ # tests for the example in examplescontrived.rb
4
5
  class TestContrived < Test::Unit::TestCase
5
6
 
6
7
  def setup
@@ -38,8 +39,8 @@ class TestContrived < Test::Unit::TestCase
38
39
  end
39
40
 
40
41
  def test_is_faster?
41
- fast = @tester.fastest_overall
42
- slow = @tester.slowest_overall
42
+ fast = @tester.fastest_overall[:name]
43
+ slow = @tester.slowest_overall[:name]
43
44
 
44
45
  forward = @tester.is_faster?(fast, slow)
45
46
  reverse = @tester.is_faster?(slow, fast)
@@ -52,8 +53,8 @@ class TestContrived < Test::Unit::TestCase
52
53
  end
53
54
 
54
55
  def test_is_slower?
55
- fast = @tester.fastest_overall
56
- slow = @tester.slowest_overall
56
+ fast = @tester.fastest_overall[:name]
57
+ slow = @tester.slowest_overall[:name]
57
58
 
58
59
  forward = @tester.is_slower?(slow, fast)
59
60
  reverse = @tester.is_slower?(fast, slow)
@@ -65,13 +66,24 @@ class TestContrived < Test::Unit::TestCase
65
66
  assert_true(equal) # ugh, this is misleading.. but is_slower? is boolean opposite of is_slower?
66
67
  end
67
68
 
68
- def test_faster_by
69
-
69
+ def test_faster_by_result
70
70
  fast = @tester.fastest_overall
71
71
  slow = @tester.slowest_overall
72
72
 
73
- assert_true(@tester.faster_by(fast, slow, false).is_a?(Float))
74
- assert_false(@tester.faster_by(slow, fast))
73
+ assert_not_nil(@tester.faster_by_result(fast, slow, true))
74
+ assert_match(/\d+\.\d+%/, @tester.faster_by_result(fast, slow, true))
75
+ assert_true(@tester.faster_by_result(fast, slow, false).is_a?(Float))
76
+ assert_false(@tester.faster_by_result(slow, fast))
77
+ end
78
+
79
+ def test_faster_by_type
80
+ fastest = @tester.fastest_overall[:name]
81
+ slowest = @tester.slowest_overall[:name]
82
+
83
+ assert_not_nil(@tester.faster_by_type(fastest, slowest, true))
84
+ assert_match(/\d+\.\d+%/, @tester.faster_by_type(fastest, slowest, true))
85
+ assert_true(@tester.faster_by_type(fastest, slowest, false).is_a?(Float))
86
+ assert_false(@tester.faster_by_type(slowest, fastest))
75
87
 
76
88
  end
77
89
 
@@ -0,0 +1,35 @@
1
+ require_relative File.expand_path(sprintf('%s/../../lib/bnchmrkr', File.dirname(__FILE__)))
2
+ require 'test-unit'
3
+
4
+ # test that exceptions thrown in the middle of a #benchmark! run will behave in expected ways
5
+ class TestExceptions < Test::Unit::TestCase
6
+
7
+ def setup; end
8
+
9
+ def test_lambdas_will_raise
10
+ tester = Bnchmrkr.new({
11
+ :divbyzero => lambda {
12
+ 10 / 0
13
+ },
14
+ })
15
+
16
+ assert_nothing_raised do
17
+ tester.benchmark!
18
+ assert_true(tester.results.has_key?('divbyzero-failed'.to_sym))
19
+ end
20
+ end
21
+
22
+ def test_lambdas_wont_raise_anyway
23
+ tester = Bnchmrkr.new({
24
+ :foo => lambda { 'bar' }
25
+ })
26
+
27
+ assert_nothing_raised do
28
+ tester.benchmark!
29
+ assert_true(tester.results.has_key?(:foo))
30
+ end
31
+
32
+ end
33
+
34
+
35
+ end
@@ -1,11 +1,11 @@
1
1
  require_relative File.expand_path(sprintf('%s/../../lib/bnchmrkr', File.dirname(__FILE__)))
2
2
  require 'test-unit'
3
3
 
4
- class TestInitialize < Test::Unit::TestCase
5
4
 
6
- def setup
5
+ # test valid/invalid instantiations
6
+ class TestInitialize < Test::Unit::TestCase
7
7
 
8
- end
8
+ def setup; end
9
9
 
10
10
  def test_valid
11
11
 
metadata CHANGED
@@ -1,29 +1,75 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bnchmrkr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Conor Horan-Kates
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-08 00:00:00.000000000 Z
11
+ date: 2016-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: 10.5.0
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: 10.5.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 10.5.0
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 10.5.0
13
33
  - !ruby/object:Gem::Dependency
14
34
  name: jeweler
15
35
  requirement: !ruby/object:Gem::Requirement
16
36
  requirements:
37
+ - - '>='
38
+ - !ruby/object:Gem::Version
39
+ version: 2.0.1
17
40
  - - ~>
18
41
  - !ruby/object:Gem::Version
19
- version: '0'
42
+ version: 2.0.1
20
43
  type: :development
21
44
  prerelease: false
22
45
  version_requirements: !ruby/object:Gem::Requirement
23
46
  requirements:
47
+ - - '>='
48
+ - !ruby/object:Gem::Version
49
+ version: 2.0.1
50
+ - - ~>
51
+ - !ruby/object:Gem::Version
52
+ version: 2.0.1
53
+ - !ruby/object:Gem::Dependency
54
+ name: reek
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - '>='
58
+ - !ruby/object:Gem::Version
59
+ version: '3.11'
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: '3.11'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '3.11'
24
70
  - - ~>
25
71
  - !ruby/object:Gem::Version
26
- version: '0'
72
+ version: '3.11'
27
73
  - !ruby/object:Gem::Dependency
28
74
  name: test-unit
29
75
  requirement: !ruby/object:Gem::Requirement
@@ -52,14 +98,17 @@ extensions: []
52
98
  extra_rdoc_files:
53
99
  - README.md
54
100
  files:
101
+ - .reek
102
+ - .travis.yml
55
103
  - Gemfile
56
104
  - Gemfile.lock
57
105
  - README.md
58
106
  - Rakefile
59
107
  - VERSION
60
- - bnchmrkr.gemspec
61
108
  - lib/bnchmrkr.rb
109
+ - test/examples/test_examples.rb
62
110
  - test/unit/test_contrived.rb
111
+ - test/unit/test_exceptions.rb
63
112
  - test/unit/test_initialize.rb
64
113
  homepage: http://github.com/chorankates/bnchmrkr
65
114
  licenses:
data/bnchmrkr.gemspec DELETED
@@ -1,51 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
- # stub: bnchmrkr 0.0.2 ruby lib
6
-
7
- Gem::Specification.new do |s|
8
- s.name = "bnchmrkr"
9
- s.version = "0.0.2"
10
-
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib"]
13
- s.authors = ["Conor Horan-Kates"]
14
- s.date = "2016-03-08"
15
- s.description = "given a hash of lambdas, runs and compares the amount of time each implementation takes"
16
- s.email = "conor.code@gmail.com"
17
- s.extra_rdoc_files = [
18
- "README.md"
19
- ]
20
- s.files = [
21
- "Gemfile",
22
- "Gemfile.lock",
23
- "README.md",
24
- "Rakefile",
25
- "VERSION",
26
- "bnchmrkr.gemspec",
27
- "lib/bnchmrkr.rb",
28
- "test/unit/test_contrived.rb",
29
- "test/unit/test_initialize.rb"
30
- ]
31
- s.homepage = "http://github.com/chorankates/bnchmrkr"
32
- s.licenses = ["MIT"]
33
- s.rubygems_version = "2.2.2"
34
- s.summary = "compare execution time"
35
-
36
- if s.respond_to? :specification_version then
37
- s.specification_version = 4
38
-
39
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
40
- s.add_development_dependency(%q<jeweler>, ["~> 0"])
41
- s.add_development_dependency(%q<test-unit>, [">= 3.0.0", "~> 3.0.0"])
42
- else
43
- s.add_dependency(%q<jeweler>, ["~> 0"])
44
- s.add_dependency(%q<test-unit>, [">= 3.0.0", "~> 3.0.0"])
45
- end
46
- else
47
- s.add_dependency(%q<jeweler>, ["~> 0"])
48
- s.add_dependency(%q<test-unit>, [">= 3.0.0", "~> 3.0.0"])
49
- end
50
- end
51
-