bnchmrkr 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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
-