benchmark-ips 2.3.0 → 2.10.0

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: benchmark-ips
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Phoenix
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-20 00:00:00.000000000 Z
11
+ date: 2015-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '5.6'
19
+ version: '5.4'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '5.6'
26
+ version: '5.4'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rdoc
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,47 +38,41 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '4.0'
41
- - !ruby/object:Gem::Dependency
42
- name: hoe
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '3.13'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3.13'
55
41
  description: A iterations per second enhancement to Benchmark.
56
42
  email:
57
43
  - evan@phx.io
58
44
  executables: []
59
45
  extensions: []
60
46
  extra_rdoc_files:
61
- - History.txt
62
- - Manifest.txt
47
+ - History.md
48
+ - LICENSE
63
49
  - README.md
64
50
  files:
65
- - ".autotest"
66
- - ".gemtest"
67
- - History.txt
68
- - Manifest.txt
51
+ - History.md
52
+ - LICENSE
69
53
  - README.md
70
- - Rakefile
54
+ - examples/advanced.rb
55
+ - examples/hold.rb
56
+ - examples/save.rb
57
+ - examples/simple.rb
71
58
  - lib/benchmark/compare.rb
72
59
  - lib/benchmark/ips.rb
73
60
  - lib/benchmark/ips/job.rb
61
+ - lib/benchmark/ips/job/entry.rb
62
+ - lib/benchmark/ips/job/noop_report.rb
63
+ - lib/benchmark/ips/job/stdout_report.rb
64
+ - lib/benchmark/ips/noop_suite.rb
74
65
  - lib/benchmark/ips/report.rb
66
+ - lib/benchmark/ips/share.rb
67
+ - lib/benchmark/ips/stats/bootstrap.rb
68
+ - lib/benchmark/ips/stats/sd.rb
69
+ - lib/benchmark/ips/stats/stats_metric.rb
75
70
  - lib/benchmark/timing.rb
76
- - test/test_benchmark_ips.rb
77
71
  homepage: https://github.com/evanphx/benchmark-ips
78
72
  licenses:
79
73
  - MIT
80
74
  metadata: {}
81
- post_install_message:
75
+ post_install_message:
82
76
  rdoc_options:
83
77
  - "--main"
84
78
  - README.md
@@ -95,9 +89,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
89
  - !ruby/object:Gem::Version
96
90
  version: '0'
97
91
  requirements: []
98
- rubyforge_project:
99
- rubygems_version: 2.2.2
100
- signing_key:
92
+ rubygems_version: 3.2.26
93
+ signing_key:
101
94
  specification_version: 4
102
95
  summary: A iterations per second enhancement to Benchmark.
103
96
  test_files: []
data/.autotest DELETED
@@ -1,23 +0,0 @@
1
- # -*- ruby -*-
2
-
3
- require 'autotest/restart'
4
-
5
- # Autotest.add_hook :initialize do |at|
6
- # at.extra_files << "../some/external/dependency.rb"
7
- #
8
- # at.libs << ":../some/external"
9
- #
10
- # at.add_exception 'vendor'
11
- #
12
- # at.add_mapping(/dependency.rb/) do |f, _|
13
- # at.files_matching(/test_.*rb$/)
14
- # end
15
- #
16
- # %w(TestA TestB).each do |klass|
17
- # at.extra_class_map[klass] = "test/test_misc.rb"
18
- # end
19
- # end
20
-
21
- # Autotest.add_hook :run_command do |at|
22
- # system "rake build"
23
- # end
data/.gemtest DELETED
File without changes
data/History.txt DELETED
@@ -1,87 +0,0 @@
1
- === 2.3.0 / 2015-07-20
2
-
3
- * 2 minor features:
4
- * Support keyword arguments
5
- * Allow any datatype for labels (use #to_s conversion)
6
-
7
- * 1 doc/test changes:
8
- * Newer Travis for 1.8.7, ree, and 2.2.2
9
-
10
- * 3 PRs merged:
11
- * Merge pull request #41 from kbrock/kwargs-support
12
- * Merge pull request #42 from kbrock/newer_travis
13
- * Merge pull request #43 from kbrock/non_to_s_labels
14
-
15
- === 2.2.0 / 2015-05-09
16
-
17
- * 1 minor features:
18
- * Fix quiet mode
19
- * Allow passing a custom suite via config
20
- * Silent a job if a suite was passed and is quiet
21
- * Export report to json file.
22
- * Accept symbol as report's argument.
23
-
24
- * 2 doc fixes:
25
- * Squish duplicate `to` in README
26
- * Update copyright to 2015. [ci skip]
27
-
28
- * 9 PRs merged:
29
- * Merge pull request #37 from splattael/patch-1
30
- * Merge pull request #36 from kirs/quiet-mode
31
- * Merge pull request #35 from JuanitoFatas/doc/suite
32
- * Merge pull request #34 from splattael/config-suite
33
- * Merge pull request #33 from splattael/suite-quiet
34
- * Merge pull request #32 from O-I/remove-gemfile-lock
35
- * Merge pull request #31 from JuanitoFatas/doc/bump-copyright-year
36
- * Merge pull request #29 from JuanitoFatas/feature/json-export
37
- * Merge pull request #26 from JuanitoFatas/feature/takes-symbol-as-report-parameter
38
-
39
- === 2.1.1 / 2015-01-12
40
-
41
- * 1 minor fix:
42
- * Don't send label through printf so that % work directly
43
-
44
- * 1 documenation changes:
45
- * Use HEREDOC and wrap at 80 chars for example result description
46
-
47
- * 1 usage fix:
48
- * Add gemspec for use via bundler git
49
-
50
- * 1 PR merged:
51
- * Merge pull request #24 from zzak/simple-format-result-description
52
-
53
- === 2.1.0 / 2014-11-10
54
-
55
- * Documentation changes:
56
- * Many documentation fixes by Juanito Fatas!
57
- * Minor readme fix by Will Leinweber
58
-
59
- * 2 minor features:
60
- * Displaying the total runtime for a job is suppressed unless interesting
61
- * Formatting of large values improved (human vs raw mode)
62
- * Contributed by Charles Oliver Nutter
63
-
64
- === 2.0.0 / 2014-06-18
65
-
66
- * The 'Davy Stevenson' release!
67
- * Codename: Springtime Hummingbird Dance
68
-
69
- * Big API refactoring so the internal bits are easier to use
70
- * Bump to 2.0 because return types changed to make the API better
71
-
72
- * Contributors added:
73
- * Davy Stevenson
74
- * Juanito Fatas
75
- * Benoit Daloze
76
- * Matias
77
- * Tony Arcieri
78
- * Vipul A M
79
- * Zachary Scott
80
- * schneems (Richard Schneeman)
81
-
82
- === 1.0.0 / 2012-03-23
83
-
84
- * 1 major enhancement
85
-
86
- * Birthday!
87
-
data/Manifest.txt DELETED
@@ -1,11 +0,0 @@
1
- .autotest
2
- History.txt
3
- Manifest.txt
4
- README.md
5
- Rakefile
6
- lib/benchmark/compare.rb
7
- lib/benchmark/ips.rb
8
- lib/benchmark/ips/report.rb
9
- lib/benchmark/ips/job.rb
10
- lib/benchmark/timing.rb
11
- test/test_benchmark_ips.rb
data/Rakefile DELETED
@@ -1,26 +0,0 @@
1
- # -*- ruby -*-
2
-
3
- require 'rubygems'
4
- require 'hoe'
5
-
6
- Hoe.plugin :minitest
7
- Hoe.plugin :git
8
-
9
- hoe = Hoe.spec 'benchmark-ips' do
10
- developer('Evan Phoenix', 'evan@phx.io')
11
-
12
- self.readme_file = 'README.md'
13
-
14
- license "MIT"
15
- end
16
-
17
- file "#{hoe.spec.name}.gemspec" => ['Rakefile', "lib/benchmark/ips.rb"] do |t|
18
- puts "Generating #{t.name}"
19
- File.open(t.name, 'wb') { |f| f.write hoe.spec.to_ruby }
20
- end
21
-
22
- desc "Generate or update the standalone gemspec file for the project"
23
- task :gemspec => ["#{hoe.spec.name}.gemspec"]
24
-
25
-
26
- # vim: syntax=ruby
@@ -1,161 +0,0 @@
1
- require "minitest/autorun"
2
- require "benchmark/ips"
3
- require "stringio"
4
-
5
- class TestBenchmarkIPS < Minitest::Test
6
- def setup
7
- @old_stdout = $stdout
8
- $stdout = StringIO.new
9
- end
10
-
11
- def teardown
12
- $stdout = @old_stdout
13
- end
14
-
15
- def test_kwargs
16
- Benchmark.ips(:time => 1, :warmup => 1, :quiet => false) do |x|
17
- x.report("sleep 0.25") { sleep(0.25) }
18
- end
19
-
20
- assert $stdout.string.size > 0
21
- end
22
-
23
- def test_output
24
- Benchmark.ips(1) do |x|
25
- x.report("operation") { 100 * 100 }
26
- end
27
-
28
- assert $stdout.string.size > 0
29
- end
30
-
31
- def test_quiet
32
- Benchmark.ips(1, nil, true) do |x|
33
- x.report("operation") { 100 * 100 }
34
- end
35
-
36
- assert $stdout.string.size.zero?
37
-
38
- Benchmark.ips(:quiet => true) do |x|
39
- x.report("operation") { 100 * 100 }
40
- end
41
-
42
- assert $stdout.string.size.zero?
43
- end
44
-
45
- def test_ips
46
- report = Benchmark.ips do |x|
47
- x.config(:time => 1, :warmup => 1)
48
- x.report("sleep 0.25") { sleep(0.25) }
49
- x.report("sleep 0.05") { sleep(0.05) }
50
- x.compare!
51
- end
52
-
53
- rep1 = report.entries[0]
54
- rep2 = report.entries[1]
55
-
56
- assert_equal "sleep 0.25", rep1.label
57
- assert_equal 4, rep1.iterations
58
- assert_in_delta 4.0, rep1.ips, 0.2
59
-
60
- assert_equal "sleep 0.05", rep2.label
61
- assert_in_delta 20.0, rep2.iterations.to_f, 1.0
62
- assert_in_delta 20.0, rep2.ips, 1.0
63
- end
64
-
65
- def test_ips_alternate_config
66
- report = Benchmark.ips do |x|
67
- x.time = 1
68
- x.warmup = 1
69
- x.report("sleep 0.25") { sleep(0.25) }
70
- end
71
-
72
- rep = report.entries.first
73
-
74
- assert_equal "sleep 0.25", rep.label
75
- assert_equal 4, rep.iterations
76
- assert_in_delta 4.0, rep.ips, 0.2
77
- end
78
-
79
- def test_ips_old_config
80
- report = Benchmark.ips(1,1) do |x|
81
- x.report("sleep 0.25") { sleep(0.25) }
82
- end
83
-
84
- rep = report.entries.first
85
-
86
- assert_equal "sleep 0.25", rep.label
87
- assert_equal 4, rep.iterations
88
- assert_in_delta 4.0, rep.ips, 0.2
89
- end
90
-
91
- def test_ips_config_suite
92
- suite = Struct.new(:calls) do
93
- def method_missing(method, *args)
94
- calls << method
95
- end
96
- end.new([])
97
-
98
- Benchmark.ips(0.1, 0.1) do |x|
99
- x.config(:suite => suite)
100
- x.report("job") {}
101
- end
102
-
103
- assert_equal [:warming, :warmup_stats, :running, :add_report], suite.calls
104
- end
105
-
106
- def test_ips_defaults
107
- report = Benchmark.ips do |x|
108
- x.report("sleep 0.25") { sleep(0.25) }
109
- end
110
-
111
- rep = report.entries.first
112
-
113
- assert_equal "sleep 0.25", rep.label
114
- assert_equal 4*5, rep.iterations
115
- assert_in_delta 4.0, rep.ips, 0.2
116
- end
117
-
118
- def test_ips_report_using_symbol
119
- report = Benchmark.ips do |x|
120
- x.report(:sleep_a_quarter_second) { sleep(0.25) }
121
- end
122
-
123
- rep = report.entries.first
124
-
125
- assert_equal :sleep_a_quarter_second, rep.label
126
- assert_equal 4*5, rep.iterations
127
- assert_in_delta 4.0, rep.ips, 0.2
128
- end
129
-
130
- def test_ips_default_data
131
- report = Benchmark.ips do |x|
132
- x.report("sleep 0.25") { sleep(0.25) }
133
- end
134
-
135
- all_data = report.data
136
-
137
- assert all_data
138
- assert_equal "sleep 0.25", all_data[0][:name]
139
- assert all_data[0][:ips]
140
- assert all_data[0][:stddev]
141
- end
142
-
143
- def test_json_output
144
- json_file = Tempfile.new("data.json")
145
-
146
- Benchmark.ips do |x|
147
- x.report("sleep 0.25") { sleep(0.25) }
148
- x.json! json_file.path
149
- end
150
-
151
- json_data = json_file.read
152
- assert json_data
153
-
154
- data = JSON.parse json_data
155
- assert data
156
- assert_equal 1, data.size
157
- assert_equal "sleep 0.25", data[0]["name"]
158
- assert data[0]["ips"]
159
- assert data[0]["stddev"]
160
- end
161
- end