Measure and benchmark execution time of your ruby methods. Forget about Time.now - t
solution. Use benchmark
to see how much time it takes to execute your method.
Sample or usage:
Add this line to your application's Gemfile:
gem 'benchmark_methods'
And then execute:
$ bundle
Or install it yourself as:
$ gem install benchmark_methods
Note: works only for Ruby 2+
Let's say you have sample model User
with two methods:
class User < ActiveRecord::Base
include BenchmarkMethods
benchmark :generate_report
cbenchmark :import_users
def generate_report
report = reports.create(name: 'My Report')
report.add_db_data
report.generate
report
end
def self.import_users(csv)
CSV.parse(csv) do |row|
process_import_user(row)
end
end
end
Sample Output:
--> User.create_user_and_comments
user system total real
0.010000 0.000000 0.010000 ( 0.006721)
--> User create_test_friend
user system total real
0.000000 0.000000 0.000000 ( 0.000681)
Gem allows to benchmark ruby methods (instance and class methods).
include BenchmarkMethods
- put in your classes, models to add support for benchmarks
benchmark :method_name
- benchmark your instance method.
cbenchmark :method_name
- benchmark your class method.
- Add more Specs
After checking out the repo, run bin/setup
to install dependencies. Then, run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
to create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
- Fork it ( https://github.com/[my-github-username]/benchmark_methods/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request