diff options
| author | Semyon Perepelitsa <sema@sema.in> | 2012-01-21 18:15:08 +0800 | 
|---|---|---|
| committer | Semyon Perepelitsa <sema@sema.in> | 2012-01-21 18:32:17 +0800 | 
| commit | bb1813cab859a404ffbb0bc8077407632b92a2f1 (patch) | |
| tree | a2e75982e4129af1363d6cbed22fa2d1079a882f /actionpack/lib/abstract_controller/logger.rb | |
| parent | 2e13850e4c8245214568b7e133908af7db9dbb9f (diff) | |
| download | rails-bb1813cab859a404ffbb0bc8077407632b92a2f1.tar.gz rails-bb1813cab859a404ffbb0bc8077407632b92a2f1.tar.bz2 rails-bb1813cab859a404ffbb0bc8077407632b92a2f1.zip | |
Replace regexp matching with a simple string manipulation.
Using regexp looks like overkill here and is also 2x slower.
             user     system      total        real
string   0.020000   0.000000   0.020000 (  0.016256)
regexp   0.030000   0.000000   0.030000 (  0.035360)
require "benchmark"
names = ("a".."z").map { |c| c + "a" * rand(5..10) + "=" * rand(0..1) }.map(&:to_sym)
puts names
n = 1000
Benchmark.bmbm do |x|
  x.report "string" do
    n.times do
      names.each do |name|
        string_name = name.to_s
        string_name.chomp!('=')
        string_name
      end
    end
  end
  x.report "regexp" do
    n.times do
      names.each do |name|
        name.to_s =~ /(.*)=$/
        $1
      end
    end
  end
end
Diffstat (limited to 'actionpack/lib/abstract_controller/logger.rb')
0 files changed, 0 insertions, 0 deletions
