Sha256: e0d0ac8503aa1fa1de274a5ef1523b7e40bc52d3151d6fe8bde4f6f52d734e72

Contents?: true

Size: 621 Bytes

Versions: 1

Compression:

Stored size: 621 Bytes

Contents

$:.unshift File.expand_path('../lib', __dir__)

require 'benchmark'
require 'mustermann'
require 'addressable/template'

list = [
  /\A\/(?<splat>.*?)\/(?<name>[^\/\?#]+)\Z/,
  Mustermann.new('/*/:name',          type: :sinatra),
  Mustermann.new('/*/:name',          type: :simple),
  Mustermann.new('/*prefix/:name',    type: :rails),
  Mustermann.new('{/prefix*}/{name}', type: :template),
  #Addressable::Template.new('{/prefix*}/{name}')
]

string = '/a/b/c/d'

Benchmark.bmbm do |x|
  list.each do |pattern|
    x.report pattern.class.to_s do
      100_000.times { pattern.match(string).captures }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mustermann-0.0.1 bench/capturing.rb