benchmark-ips 2.3.0 → 2.10.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.
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