gitlab-derailed_benchmarks 1.6.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.
Files changed (89) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/check_changelog.yml +10 -0
  3. data/.gitignore +8 -0
  4. data/.gitlab-ci.yml +56 -0
  5. data/.travis.yml +18 -0
  6. data/Appraisals +26 -0
  7. data/CHANGELOG.md +105 -0
  8. data/Gemfile +9 -0
  9. data/README.md +692 -0
  10. data/Rakefile +29 -0
  11. data/bin/derailed +93 -0
  12. data/derailed_benchmarks.gemspec +39 -0
  13. data/gemfiles/.bundle/config +2 -0
  14. data/gemfiles/rails_5_1.gemfile +15 -0
  15. data/gemfiles/rails_5_2.gemfile +15 -0
  16. data/gemfiles/rails_6_0.gemfile +15 -0
  17. data/gemfiles/rails_git.gemfile +19 -0
  18. data/lib/derailed_benchmarks.rb +51 -0
  19. data/lib/derailed_benchmarks/auth_helper.rb +34 -0
  20. data/lib/derailed_benchmarks/auth_helpers/devise.rb +41 -0
  21. data/lib/derailed_benchmarks/core_ext/kernel_require.rb +88 -0
  22. data/lib/derailed_benchmarks/load_tasks.rb +145 -0
  23. data/lib/derailed_benchmarks/require_tree.rb +65 -0
  24. data/lib/derailed_benchmarks/stats_from_dir.rb +128 -0
  25. data/lib/derailed_benchmarks/stats_in_file.rb +60 -0
  26. data/lib/derailed_benchmarks/tasks.rb +292 -0
  27. data/lib/derailed_benchmarks/version.rb +5 -0
  28. data/test/derailed_benchmarks/core_ext/kernel_require_test.rb +33 -0
  29. data/test/derailed_benchmarks/require_tree_test.rb +95 -0
  30. data/test/derailed_benchmarks/stats_from_dir_test.rb +125 -0
  31. data/test/derailed_test.rb +14 -0
  32. data/test/fixtures/require/child_one.rb +4 -0
  33. data/test/fixtures/require/child_two.rb +9 -0
  34. data/test/fixtures/require/parent_one.rb +8 -0
  35. data/test/fixtures/require/raise_child.rb +6 -0
  36. data/test/fixtures/require/relative_child.rb +4 -0
  37. data/test/fixtures/require/relative_child_two.rb +4 -0
  38. data/test/fixtures/stats/significant/loser.bench.txt +100 -0
  39. data/test/fixtures/stats/significant/winner.bench.txt +100 -0
  40. data/test/integration/tasks_test.rb +132 -0
  41. data/test/rails_app/Rakefile +9 -0
  42. data/test/rails_app/app/assets/config/manifest.js +0 -0
  43. data/test/rails_app/app/assets/javascripts/authenticated.js +2 -0
  44. data/test/rails_app/app/assets/stylesheets/authenticated.css +4 -0
  45. data/test/rails_app/app/controllers/application_controller.rb +17 -0
  46. data/test/rails_app/app/controllers/authenticated_controller.rb +8 -0
  47. data/test/rails_app/app/controllers/pages_controller.rb +14 -0
  48. data/test/rails_app/app/helpers/application_helper.rb +4 -0
  49. data/test/rails_app/app/helpers/authenticated_helper.rb +4 -0
  50. data/test/rails_app/app/models/user.rb +13 -0
  51. data/test/rails_app/app/views/authenticated/index.html.erb +1 -0
  52. data/test/rails_app/app/views/layouts/application.html.erb +14 -0
  53. data/test/rails_app/app/views/pages/index.html.erb +1 -0
  54. data/test/rails_app/config.ru +6 -0
  55. data/test/rails_app/config/application.rb +52 -0
  56. data/test/rails_app/config/boot.rb +12 -0
  57. data/test/rails_app/config/database.yml +22 -0
  58. data/test/rails_app/config/environment.rb +11 -0
  59. data/test/rails_app/config/environments/development.rb +27 -0
  60. data/test/rails_app/config/environments/production.rb +51 -0
  61. data/test/rails_app/config/environments/test.rb +37 -0
  62. data/test/rails_app/config/initializers/backtrace_silencers.rb +9 -0
  63. data/test/rails_app/config/initializers/devise.rb +258 -0
  64. data/test/rails_app/config/initializers/inflections.rb +12 -0
  65. data/test/rails_app/config/initializers/mime_types.rb +7 -0
  66. data/test/rails_app/config/initializers/secret_token.rb +13 -0
  67. data/test/rails_app/config/initializers/session_store.rb +10 -0
  68. data/test/rails_app/config/locales/devise.en.yml +59 -0
  69. data/test/rails_app/config/locales/en.yml +9 -0
  70. data/test/rails_app/config/locales/es.yml +10 -0
  71. data/test/rails_app/config/routes.rb +67 -0
  72. data/test/rails_app/db/migrate/20141210070547_devise_create_users.rb +45 -0
  73. data/test/rails_app/db/schema.rb +35 -0
  74. data/test/rails_app/perf.rake +10 -0
  75. data/test/rails_app/public/404.html +26 -0
  76. data/test/rails_app/public/422.html +26 -0
  77. data/test/rails_app/public/500.html +26 -0
  78. data/test/rails_app/public/favicon.ico +0 -0
  79. data/test/rails_app/public/javascripts/application.js +2 -0
  80. data/test/rails_app/public/javascripts/controls.js +965 -0
  81. data/test/rails_app/public/javascripts/dragdrop.js +974 -0
  82. data/test/rails_app/public/javascripts/effects.js +1123 -0
  83. data/test/rails_app/public/javascripts/prototype.js +6001 -0
  84. data/test/rails_app/public/javascripts/rails.js +202 -0
  85. data/test/rails_app/public/stylesheets/.gitkeep +0 -0
  86. data/test/rails_app/script/rails +8 -0
  87. data/test/support/integration_case.rb +7 -0
  88. data/test/test_helper.rb +65 -0
  89. metadata +398 -0
@@ -0,0 +1,202 @@
1
+ (function() {
2
+ Ajax.Responders.register({
3
+ onCreate: function(request) {
4
+ var token = $$('meta[name=csrf-token]')[0];
5
+ if (token) {
6
+ if (!request.options.requestHeaders) request.options.requestHeaders = {};
7
+ request.options.requestHeaders['X-CSRF-Token'] = token.readAttribute('content');
8
+ }
9
+ }
10
+ });
11
+
12
+ // Technique from Juriy Zaytsev
13
+ // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/
14
+ function isEventSupported(eventName) {
15
+ var el = document.createElement('div');
16
+ eventName = 'on' + eventName;
17
+ var isSupported = (eventName in el);
18
+ if (!isSupported) {
19
+ el.setAttribute(eventName, 'return;');
20
+ isSupported = typeof el[eventName] == 'function';
21
+ }
22
+ el = null;
23
+ return isSupported;
24
+ }
25
+
26
+ function isForm(element) {
27
+ return Object.isElement(element) && element.nodeName.toUpperCase() == 'FORM';
28
+ }
29
+
30
+ function isInput(element) {
31
+ if (Object.isElement(element)) {
32
+ var name = element.nodeName.toUpperCase();
33
+ return name == 'INPUT' || name == 'SELECT' || name == 'TEXTAREA';
34
+ }
35
+ else return false;
36
+ }
37
+
38
+ var submitBubbles = isEventSupported('submit'),
39
+ changeBubbles = isEventSupported('change');
40
+
41
+ if (!submitBubbles || !changeBubbles) {
42
+ // augment the Event.Handler class to observe custom events when needed
43
+ Event.Handler.prototype.initialize = Event.Handler.prototype.initialize.wrap(
44
+ function(init, element, eventName, selector, callback) {
45
+ init(element, eventName, selector, callback);
46
+ // is the handler being attached to an element that doesn't support this event?
47
+ if ( (!submitBubbles && this.eventName == 'submit' && !isForm(this.element)) ||
48
+ (!changeBubbles && this.eventName == 'change' && !isInput(this.element)) ) {
49
+ // "submit" => "emulated:submit"
50
+ this.eventName = 'emulated:' + this.eventName;
51
+ }
52
+ }
53
+ );
54
+ }
55
+
56
+ if (!submitBubbles) {
57
+ // discover forms on the page by observing focus events which always bubble
58
+ document.on('focusin', 'form', function(focusEvent, form) {
59
+ // special handler for the real "submit" event (one-time operation)
60
+ if (!form.retrieve('emulated:submit')) {
61
+ form.on('submit', function(submitEvent) {
62
+ var emulated = form.fire('emulated:submit', submitEvent, true);
63
+ // if custom event received preventDefault, cancel the real one too
64
+ if (emulated.returnValue === false) submitEvent.preventDefault();
65
+ });
66
+ form.store('emulated:submit', true);
67
+ }
68
+ });
69
+ }
70
+
71
+ if (!changeBubbles) {
72
+ // discover form inputs on the page
73
+ document.on('focusin', 'input, select, textarea', function(focusEvent, input) {
74
+ // special handler for real "change" events
75
+ if (!input.retrieve('emulated:change')) {
76
+ input.on('change', function(changeEvent) {
77
+ input.fire('emulated:change', changeEvent, true);
78
+ });
79
+ input.store('emulated:change', true);
80
+ }
81
+ });
82
+ }
83
+
84
+ function handleRemote(element) {
85
+ var method, url, params;
86
+
87
+ var event = element.fire("ajax:before");
88
+ if (event.stopped) return false;
89
+
90
+ if (element.tagName.toLowerCase() === 'form') {
91
+ method = element.readAttribute('method') || 'post';
92
+ url = element.readAttribute('action');
93
+ // serialize the form with respect to the submit button that was pressed
94
+ params = element.serialize({ submit: element.retrieve('rails:submit-button') });
95
+ // clear the pressed submit button information
96
+ element.store('rails:submit-button', null);
97
+ } else {
98
+ method = element.readAttribute('data-method') || 'get';
99
+ url = element.readAttribute('href');
100
+ params = {};
101
+ }
102
+
103
+ new Ajax.Request(url, {
104
+ method: method,
105
+ parameters: params,
106
+ evalScripts: true,
107
+
108
+ onCreate: function(response) { element.fire("ajax:create", response); },
109
+ onComplete: function(response) { element.fire("ajax:complete", response); },
110
+ onSuccess: function(response) { element.fire("ajax:success", response); },
111
+ onFailure: function(response) { element.fire("ajax:failure", response); }
112
+ });
113
+
114
+ element.fire("ajax:after");
115
+ }
116
+
117
+ function insertHiddenField(form, name, value) {
118
+ form.insert(new Element('input', { type: 'hidden', name: name, value: value }));
119
+ }
120
+
121
+ function handleMethod(element) {
122
+ var method = element.readAttribute('data-method'),
123
+ url = element.readAttribute('href'),
124
+ csrf_param = $$('meta[name=csrf-param]')[0],
125
+ csrf_token = $$('meta[name=csrf-token]')[0];
126
+
127
+ var form = new Element('form', { method: "POST", action: url, style: "display: none;" });
128
+ $(element.parentNode).insert(form);
129
+
130
+ if (method !== 'post') {
131
+ insertHiddenField(form, '_method', method);
132
+ }
133
+
134
+ if (csrf_param) {
135
+ insertHiddenField(form, csrf_param.readAttribute('content'), csrf_token.readAttribute('content'));
136
+ }
137
+
138
+ form.submit();
139
+ }
140
+
141
+ function disableFormElements(form) {
142
+ form.select('input[type=submit][data-disable-with]').each(function(input) {
143
+ input.store('rails:original-value', input.getValue());
144
+ input.setValue(input.readAttribute('data-disable-with')).disable();
145
+ });
146
+ }
147
+
148
+ function enableFormElements(form) {
149
+ form.select('input[type=submit][data-disable-with]').each(function(input) {
150
+ input.setValue(input.retrieve('rails:original-value')).enable();
151
+ });
152
+ }
153
+
154
+ function allowAction(element) {
155
+ var message = element.readAttribute('data-confirm');
156
+ return !message || confirm(message);
157
+ }
158
+
159
+ document.on('click', 'a[data-confirm], a[data-remote], a[data-method]', function(event, link) {
160
+ if (!allowAction(link)) {
161
+ event.stop();
162
+ return false;
163
+ }
164
+
165
+ if (link.readAttribute('data-remote')) {
166
+ handleRemote(link);
167
+ event.stop();
168
+ } else if (link.readAttribute('data-method')) {
169
+ handleMethod(link);
170
+ event.stop();
171
+ }
172
+ });
173
+
174
+ document.on("click", "form input[type=submit], form button[type=submit], form button:not([type])", function(event, button) {
175
+ // register the pressed submit button
176
+ event.findElement('form').store('rails:submit-button', button.name || false);
177
+ });
178
+
179
+ document.on("submit", function(event) {
180
+ var form = event.findElement();
181
+
182
+ if (!allowAction(form)) {
183
+ event.stop();
184
+ return false;
185
+ }
186
+
187
+ if (form.readAttribute('data-remote')) {
188
+ handleRemote(form);
189
+ event.stop();
190
+ } else {
191
+ disableFormElements(form);
192
+ }
193
+ });
194
+
195
+ document.on('ajax:create', 'form', function(event, form) {
196
+ if (form == event.findElement()) disableFormElements(form);
197
+ });
198
+
199
+ document.on('ajax:complete', 'form', function(event, form) {
200
+ if (form == event.findElement()) enableFormElements(form);
201
+ });
202
+ })();
File without changes
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
5
+
6
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
7
+ require File.expand_path('../../config/boot', __FILE__)
8
+ require 'rails/commands'
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Define a bare test case to use with Capybara
4
+ class ActiveSupport::IntegrationCase < ActiveSupport::TestCase
5
+ # include Capybara::DSL
6
+ include Rails.application.routes.url_helpers
7
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rubygems'
4
+ require 'bundler/setup'
5
+
6
+ # Configure Rails Envinronment
7
+ ENV["RAILS_ENV"] = "test"
8
+
9
+ require 'rails'
10
+ require 'rails/test_help'
11
+
12
+ require 'stringio'
13
+ require 'pathname'
14
+
15
+ require 'derailed_benchmarks'
16
+
17
+ require File.expand_path("../rails_app/config/environment.rb", __FILE__)
18
+ require "rails/test_help"
19
+
20
+ ActionMailer::Base.delivery_method = :test
21
+ ActionMailer::Base.perform_deliveries = true
22
+ ActionMailer::Base.default_url_options[:host] = "test.com"
23
+
24
+ Rails.backtrace_cleaner.remove_silencers!
25
+
26
+ # Configure capybara for integration testing
27
+ require "capybara/rails"
28
+ Capybara.default_driver = :rack_test
29
+ Capybara.default_selector = :css
30
+
31
+ require_relative "rails_app/config/environment"
32
+
33
+ # https://github.com/plataformatec/devise/blob/master/test/orm/active_record.rb
34
+ migrate_path = File.expand_path("../rails_app/db/migrate", __FILE__)
35
+ if Rails.version.start_with? '6'
36
+ ActiveRecord::MigrationContext.new(migrate_path, ActiveRecord::SchemaMigration).migrate
37
+ elsif Rails.version.start_with? '5.2'
38
+ ActiveRecord::MigrationContext.new(migrate_path).migrate
39
+ else
40
+ ActiveRecord::Migrator.migrate(migrate_path)
41
+ end
42
+
43
+ ActiveRecord::Migration.maintain_test_schema!
44
+
45
+ # Load support files
46
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
47
+
48
+ class ActiveSupport::IntegrationCase
49
+ def assert_has_content?(content)
50
+ assert has_content?(content), "Expected #{page.body} to include #{content.inspect}"
51
+ end
52
+ end
53
+
54
+
55
+ def fixtures_dir(name = "")
56
+ root_path("test/fixtures").join(name)
57
+ end
58
+
59
+ def root_path(name = "")
60
+ Pathname.new(File.expand_path("../..", __FILE__)).join(name)
61
+ end
62
+
63
+ def rails_app_path(name = "")
64
+ root_path("test/rails_app").join(name)
65
+ end
metadata ADDED
@@ -0,0 +1,398 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gitlab-derailed_benchmarks
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.6.1
5
+ platform: ruby
6
+ authors:
7
+ - Richard Schneeman
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-03-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: heapy
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: memory_profiler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: get_process_mem
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: benchmark-ips
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rack
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '1'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">"
88
+ - !ruby/object:Gem::Version
89
+ version: '10'
90
+ - - "<"
91
+ - !ruby/object:Gem::Version
92
+ version: '14'
93
+ type: :runtime
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">"
98
+ - !ruby/object:Gem::Version
99
+ version: '10'
100
+ - - "<"
101
+ - !ruby/object:Gem::Version
102
+ version: '14'
103
+ - !ruby/object:Gem::Dependency
104
+ name: thor
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0.19'
110
+ - - "<"
111
+ - !ruby/object:Gem::Version
112
+ version: '2'
113
+ type: :runtime
114
+ prerelease: false
115
+ version_requirements: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '0.19'
120
+ - - "<"
121
+ - !ruby/object:Gem::Version
122
+ version: '2'
123
+ - !ruby/object:Gem::Dependency
124
+ name: ruby-statistics
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '2.1'
130
+ type: :runtime
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '2.1'
137
+ - !ruby/object:Gem::Dependency
138
+ name: capybara
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '2'
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - "~>"
149
+ - !ruby/object:Gem::Version
150
+ version: '2'
151
+ - !ruby/object:Gem::Dependency
152
+ name: m
153
+ requirement: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ type: :development
159
+ prerelease: false
160
+ version_requirements: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ - !ruby/object:Gem::Dependency
166
+ name: rails
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - ">"
170
+ - !ruby/object:Gem::Version
171
+ version: '3'
172
+ - - "<="
173
+ - !ruby/object:Gem::Version
174
+ version: '7'
175
+ type: :development
176
+ prerelease: false
177
+ version_requirements: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">"
180
+ - !ruby/object:Gem::Version
181
+ version: '3'
182
+ - - "<="
183
+ - !ruby/object:Gem::Version
184
+ version: '7'
185
+ - !ruby/object:Gem::Dependency
186
+ name: devise
187
+ requirement: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - ">"
190
+ - !ruby/object:Gem::Version
191
+ version: '3'
192
+ - - "<"
193
+ - !ruby/object:Gem::Version
194
+ version: '6'
195
+ type: :development
196
+ prerelease: false
197
+ version_requirements: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">"
200
+ - !ruby/object:Gem::Version
201
+ version: '3'
202
+ - - "<"
203
+ - !ruby/object:Gem::Version
204
+ version: '6'
205
+ - !ruby/object:Gem::Dependency
206
+ name: appraisal
207
+ requirement: !ruby/object:Gem::Requirement
208
+ requirements:
209
+ - - '='
210
+ - !ruby/object:Gem::Version
211
+ version: 2.2.0
212
+ type: :development
213
+ prerelease: false
214
+ version_requirements: !ruby/object:Gem::Requirement
215
+ requirements:
216
+ - - '='
217
+ - !ruby/object:Gem::Version
218
+ version: 2.2.0
219
+ description: " Go faster, off the Rails "
220
+ email:
221
+ - richard.schneeman+rubygems@gmail.com
222
+ executables:
223
+ - derailed
224
+ extensions: []
225
+ extra_rdoc_files: []
226
+ files:
227
+ - ".github/workflows/check_changelog.yml"
228
+ - ".gitignore"
229
+ - ".gitlab-ci.yml"
230
+ - ".travis.yml"
231
+ - Appraisals
232
+ - CHANGELOG.md
233
+ - Gemfile
234
+ - README.md
235
+ - Rakefile
236
+ - bin/derailed
237
+ - derailed_benchmarks.gemspec
238
+ - gemfiles/.bundle/config
239
+ - gemfiles/rails_5_1.gemfile
240
+ - gemfiles/rails_5_2.gemfile
241
+ - gemfiles/rails_6_0.gemfile
242
+ - gemfiles/rails_git.gemfile
243
+ - lib/derailed_benchmarks.rb
244
+ - lib/derailed_benchmarks/auth_helper.rb
245
+ - lib/derailed_benchmarks/auth_helpers/devise.rb
246
+ - lib/derailed_benchmarks/core_ext/kernel_require.rb
247
+ - lib/derailed_benchmarks/load_tasks.rb
248
+ - lib/derailed_benchmarks/require_tree.rb
249
+ - lib/derailed_benchmarks/stats_from_dir.rb
250
+ - lib/derailed_benchmarks/stats_in_file.rb
251
+ - lib/derailed_benchmarks/tasks.rb
252
+ - lib/derailed_benchmarks/version.rb
253
+ - test/derailed_benchmarks/core_ext/kernel_require_test.rb
254
+ - test/derailed_benchmarks/require_tree_test.rb
255
+ - test/derailed_benchmarks/stats_from_dir_test.rb
256
+ - test/derailed_test.rb
257
+ - test/fixtures/require/child_one.rb
258
+ - test/fixtures/require/child_two.rb
259
+ - test/fixtures/require/parent_one.rb
260
+ - test/fixtures/require/raise_child.rb
261
+ - test/fixtures/require/relative_child.rb
262
+ - test/fixtures/require/relative_child_two.rb
263
+ - test/fixtures/stats/significant/loser.bench.txt
264
+ - test/fixtures/stats/significant/winner.bench.txt
265
+ - test/integration/tasks_test.rb
266
+ - test/rails_app/Rakefile
267
+ - test/rails_app/app/assets/config/manifest.js
268
+ - test/rails_app/app/assets/javascripts/authenticated.js
269
+ - test/rails_app/app/assets/stylesheets/authenticated.css
270
+ - test/rails_app/app/controllers/application_controller.rb
271
+ - test/rails_app/app/controllers/authenticated_controller.rb
272
+ - test/rails_app/app/controllers/pages_controller.rb
273
+ - test/rails_app/app/helpers/application_helper.rb
274
+ - test/rails_app/app/helpers/authenticated_helper.rb
275
+ - test/rails_app/app/models/user.rb
276
+ - test/rails_app/app/views/authenticated/index.html.erb
277
+ - test/rails_app/app/views/layouts/application.html.erb
278
+ - test/rails_app/app/views/pages/index.html.erb
279
+ - test/rails_app/config.ru
280
+ - test/rails_app/config/application.rb
281
+ - test/rails_app/config/boot.rb
282
+ - test/rails_app/config/database.yml
283
+ - test/rails_app/config/environment.rb
284
+ - test/rails_app/config/environments/development.rb
285
+ - test/rails_app/config/environments/production.rb
286
+ - test/rails_app/config/environments/test.rb
287
+ - test/rails_app/config/initializers/backtrace_silencers.rb
288
+ - test/rails_app/config/initializers/devise.rb
289
+ - test/rails_app/config/initializers/inflections.rb
290
+ - test/rails_app/config/initializers/mime_types.rb
291
+ - test/rails_app/config/initializers/secret_token.rb
292
+ - test/rails_app/config/initializers/session_store.rb
293
+ - test/rails_app/config/locales/devise.en.yml
294
+ - test/rails_app/config/locales/en.yml
295
+ - test/rails_app/config/locales/es.yml
296
+ - test/rails_app/config/routes.rb
297
+ - test/rails_app/db/migrate/20141210070547_devise_create_users.rb
298
+ - test/rails_app/db/schema.rb
299
+ - test/rails_app/perf.rake
300
+ - test/rails_app/public/404.html
301
+ - test/rails_app/public/422.html
302
+ - test/rails_app/public/500.html
303
+ - test/rails_app/public/favicon.ico
304
+ - test/rails_app/public/javascripts/application.js
305
+ - test/rails_app/public/javascripts/controls.js
306
+ - test/rails_app/public/javascripts/dragdrop.js
307
+ - test/rails_app/public/javascripts/effects.js
308
+ - test/rails_app/public/javascripts/prototype.js
309
+ - test/rails_app/public/javascripts/rails.js
310
+ - test/rails_app/public/stylesheets/.gitkeep
311
+ - test/rails_app/script/rails
312
+ - test/support/integration_case.rb
313
+ - test/test_helper.rb
314
+ homepage: https://github.com/schneems/derailed_benchmarks
315
+ licenses:
316
+ - MIT
317
+ metadata: {}
318
+ post_install_message:
319
+ rdoc_options: []
320
+ require_paths:
321
+ - lib
322
+ required_ruby_version: !ruby/object:Gem::Requirement
323
+ requirements:
324
+ - - ">="
325
+ - !ruby/object:Gem::Version
326
+ version: 2.1.0
327
+ required_rubygems_version: !ruby/object:Gem::Requirement
328
+ requirements:
329
+ - - ">="
330
+ - !ruby/object:Gem::Version
331
+ version: '0'
332
+ requirements: []
333
+ rubygems_version: 3.0.3
334
+ signing_key:
335
+ specification_version: 4
336
+ summary: Benchmarks designed to performance test your ENTIRE site
337
+ test_files:
338
+ - test/derailed_benchmarks/core_ext/kernel_require_test.rb
339
+ - test/derailed_benchmarks/require_tree_test.rb
340
+ - test/derailed_benchmarks/stats_from_dir_test.rb
341
+ - test/derailed_test.rb
342
+ - test/fixtures/require/child_one.rb
343
+ - test/fixtures/require/child_two.rb
344
+ - test/fixtures/require/parent_one.rb
345
+ - test/fixtures/require/raise_child.rb
346
+ - test/fixtures/require/relative_child.rb
347
+ - test/fixtures/require/relative_child_two.rb
348
+ - test/fixtures/stats/significant/loser.bench.txt
349
+ - test/fixtures/stats/significant/winner.bench.txt
350
+ - test/integration/tasks_test.rb
351
+ - test/rails_app/Rakefile
352
+ - test/rails_app/app/assets/config/manifest.js
353
+ - test/rails_app/app/assets/javascripts/authenticated.js
354
+ - test/rails_app/app/assets/stylesheets/authenticated.css
355
+ - test/rails_app/app/controllers/application_controller.rb
356
+ - test/rails_app/app/controllers/authenticated_controller.rb
357
+ - test/rails_app/app/controllers/pages_controller.rb
358
+ - test/rails_app/app/helpers/application_helper.rb
359
+ - test/rails_app/app/helpers/authenticated_helper.rb
360
+ - test/rails_app/app/models/user.rb
361
+ - test/rails_app/app/views/authenticated/index.html.erb
362
+ - test/rails_app/app/views/layouts/application.html.erb
363
+ - test/rails_app/app/views/pages/index.html.erb
364
+ - test/rails_app/config.ru
365
+ - test/rails_app/config/application.rb
366
+ - test/rails_app/config/boot.rb
367
+ - test/rails_app/config/database.yml
368
+ - test/rails_app/config/environment.rb
369
+ - test/rails_app/config/environments/development.rb
370
+ - test/rails_app/config/environments/production.rb
371
+ - test/rails_app/config/environments/test.rb
372
+ - test/rails_app/config/initializers/backtrace_silencers.rb
373
+ - test/rails_app/config/initializers/devise.rb
374
+ - test/rails_app/config/initializers/inflections.rb
375
+ - test/rails_app/config/initializers/mime_types.rb
376
+ - test/rails_app/config/initializers/secret_token.rb
377
+ - test/rails_app/config/initializers/session_store.rb
378
+ - test/rails_app/config/locales/devise.en.yml
379
+ - test/rails_app/config/locales/en.yml
380
+ - test/rails_app/config/locales/es.yml
381
+ - test/rails_app/config/routes.rb
382
+ - test/rails_app/db/migrate/20141210070547_devise_create_users.rb
383
+ - test/rails_app/db/schema.rb
384
+ - test/rails_app/perf.rake
385
+ - test/rails_app/public/404.html
386
+ - test/rails_app/public/422.html
387
+ - test/rails_app/public/500.html
388
+ - test/rails_app/public/favicon.ico
389
+ - test/rails_app/public/javascripts/application.js
390
+ - test/rails_app/public/javascripts/controls.js
391
+ - test/rails_app/public/javascripts/dragdrop.js
392
+ - test/rails_app/public/javascripts/effects.js
393
+ - test/rails_app/public/javascripts/prototype.js
394
+ - test/rails_app/public/javascripts/rails.js
395
+ - test/rails_app/public/stylesheets/.gitkeep
396
+ - test/rails_app/script/rails
397
+ - test/support/integration_case.rb
398
+ - test/test_helper.rb