Skip to content

Instantly share code, notes, and snippets.

@benoittgt
Created December 9, 2015 14:54
Show Gist options
  • Save benoittgt/79ef8152e2e78fb09b99 to your computer and use it in GitHub Desktop.
Save benoittgt/79ef8152e2e78fb09b99 to your computer and use it in GitHub Desktop.
require 'benchmark/ips'
require 'mail'
Benchmark.ips do |x|
x.report("'erger@log.com'.split('@')[1]") { 'erger@log.com'.split('@')[1] }
x.report("Mail::Address.new('erger@log.com').domain") { Mail::Address.new('erger@log.com').domain }
x.compare!
end
######
Result
######
Calculating -------------------------------------
'erger@log.com'.split('@')[1]
77.949k i/100ms
Mail::Address.new('erger@log.com').domain
4.756k i/100ms
-------------------------------------------------
'erger@log.com'.split('@')[1]
1.842M (± 6.2%) i/s - 9.198M
Mail::Address.new('erger@log.com').domain
57.095k (± 9.8%) i/s - 285.360k
Comparison:
'erger@log.com'.split('@')[1]: 1841909.0 i/s
Mail::Address.new('erger@log.com').domain: 57095.3 i/s - 32.26x slower
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment