1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/guides/bug_report_templates
Godfrey Chan f2f9b88685 Introduce a benchmark template [ci skip]
This replaces boilerplate in the “benchmark your code” section of the
contributors’ guide with an executable template. I also amended the text
to encourage best practices and codified it in the template.

For now this is only good for relatively self-contained changes that can
be inlined into a simple script. In the future, this can be expanded to
cover how to measure the difference between two commits.

The output looks like this:

```
==================================== Empty =====================================

Warming up --------------------------------------
              blank?   225.963k i/100ms
         fast_blank?   238.147k i/100ms
Calculating -------------------------------------
              blank?      8.825M (± 6.4%) i/s -     44.063M in   5.014824s
         fast_blank?      9.311M (± 6.3%) i/s -     46.439M in   5.009153s

Comparison:
         fast_blank?:  9310694.8 i/s
              blank?:  8824801.7 i/s - same-ish: difference falls within error


================================= Single Space =================================

Warming up --------------------------------------
              blank?    56.581k i/100ms
         fast_blank?   232.774k i/100ms
Calculating -------------------------------------
              blank?    813.985k (±16.7%) i/s -      4.017M in   5.076576s
         fast_blank?      9.547M (± 5.2%) i/s -     47.719M in   5.013204s

Comparison:
         fast_blank?:  9547414.0 i/s
              blank?:   813985.0 i/s - 11.73x  slower


================================== Two Spaces ==================================

Warming up --------------------------------------
              blank?    58.265k i/100ms
         fast_blank?   244.056k i/100ms
Calculating -------------------------------------
              blank?    823.343k (±16.2%) i/s -      4.020M in   5.014213s
         fast_blank?      9.484M (± 4.9%) i/s -     47.347M in   5.005339s

Comparison:
         fast_blank?:  9484021.6 i/s
              blank?:   823343.1 i/s - 11.52x  slower


=============================== Mixed Whitspaces ===============================

Warming up --------------------------------------
              blank?    53.919k i/100ms
         fast_blank?   237.103k i/100ms
Calculating -------------------------------------
              blank?    763.435k (±16.8%) i/s -      3.720M in   5.018029s
         fast_blank?      9.672M (± 5.8%) i/s -     48.369M in   5.019356s

Comparison:
         fast_blank?:  9672467.2 i/s
              blank?:   763435.4 i/s - 12.67x  slower


=============================== Very Long String ===============================

Warming up --------------------------------------
              blank?    34.037k i/100ms
         fast_blank?   240.366k i/100ms
Calculating -------------------------------------
              blank?    409.731k (± 8.9%) i/s -      2.042M in   5.028235s
         fast_blank?      9.794M (± 4.3%) i/s -     49.035M in   5.016328s

Comparison:
         fast_blank?:  9794225.2 i/s
              blank?:   409731.4 i/s - 23.90x  slower
```
2016-10-15 12:34:46 +02:00
..
action_controller_gem.rb applies new string literal convention in guides 2016-08-06 19:21:59 +02:00
action_controller_master.rb remove unnessary session_store setting 2016-08-20 20:24:17 +09:00
active_job_gem.rb fix class name typo 2016-09-02 17:16:15 +09:00
active_job_master.rb fix class name typo 2016-09-02 17:16:15 +09:00
active_record_gem.rb applies new string literal convention in guides 2016-08-06 19:21:59 +02:00
active_record_master.rb applies new string literal convention in guides 2016-08-06 19:21:59 +02:00
active_record_migrations_gem.rb bug report template for migrations (#26488) 2016-09-15 07:28:12 -04:00
active_record_migrations_master.rb bug report template for migrations (#26488) 2016-09-15 07:28:12 -04:00
benchmark.rb Introduce a benchmark template [ci skip] 2016-10-15 12:34:46 +02:00
generic_gem.rb applies new string literal convention in guides 2016-08-06 19:21:59 +02:00
generic_master.rb applies new string literal convention in guides 2016-08-06 19:21:59 +02:00