diff options
author | Juanito Fatas <katehuang0320@gmail.com> | 2014-05-27 05:14:12 +0800 |
---|---|---|
committer | Juanito Fatas <katehuang0320@gmail.com> | 2014-05-27 05:14:12 +0800 |
commit | 8b39eca5b7a708fb1864e139d06fa59d099ae340 (patch) | |
tree | 33b85ea4dded843af158accfa931d4de7547caa0 /guides | |
parent | de8c41cea29f530b5646fe3190b27ce1f2c3f57e (diff) | |
download | rails-8b39eca5b7a708fb1864e139d06fa59d099ae340.tar.gz rails-8b39eca5b7a708fb1864e139d06fa59d099ae340.tar.bz2 rails-8b39eca5b7a708fb1864e139d06fa59d099ae340.zip |
[ci skip] Add benchmark your code section to contributing to ruby on rails guide.
I have seen many times that maintainers want people to use this gem to give
a benchmark report. It would be nice to add it and refer to it later.
Diffstat (limited to 'guides')
-rw-r--r-- | guides/source/contributing_to_ruby_on_rails.md | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/guides/source/contributing_to_ruby_on_rails.md b/guides/source/contributing_to_ruby_on_rails.md index d3a96daf7b..133ef58fd6 100644 --- a/guides/source/contributing_to_ruby_on_rails.md +++ b/guides/source/contributing_to_ruby_on_rails.md @@ -215,6 +215,36 @@ Rails follows a simple set of coding style conventions: The above are guidelines - please use your best judgment in using them. +### Benchmark Your Code + +If your change has an impact on the performance of Rails, please use the +[benchmark-ips](https://github.com/evanphx/benchmark-ips) gem to provide +benchmark results for comparison. + +Here's an example of using benchmark-ips: + +```ruby +require 'benchmark/ips' + +Benchmark.ips do |x| + x.report('addition') { 1 + 2 } + x.report('addition with send') { 1.send(:+, 2) } +end +``` + +This will generate a report with the following information: + +``` +Calculating ------------------------------------- + addition 69114 i/100ms + addition with send 64062 i/100ms +------------------------------------------------- + addition 5307644.4 (±3.5%) i/s - 26539776 in 5.007219s + addition with send 3702897.9 (±3.5%) i/s - 18513918 in 5.006723s +``` + +Please see the benchmark/ips [README](https://github.com/evanphx/benchmark-ips/blob/master/README.md) for more information. + ### Running Tests It is not customary in Rails to run the full test suite before pushing |