Skip to content

Instantly share code, notes, and snippets.

@ncr
Created April 2, 2011 06:25
Show Gist options
  • Save ncr/899289 to your computer and use it in GitHub Desktop.
Save ncr/899289 to your computer and use it in GitHub Desktop.
The little stress test
~/dev/parslet$ rvm use 1.8.7-p302
Using /Users/ncr/.rvm/gems/ruby-1.8.7-p302
~/dev/parslet$ bundle exec rspec spec/parslet/mem_stress_spec.rb
23.030000 1.290000 24.320000 ( 24.331595)
.
Finished in 24.33 seconds
1 example, 0 failures
~/dev/parslet$ rvm use 1.9.2
Using /Users/ncr/.rvm/gems/ruby-1.9.2-p180
~/dev/parslet$ bundle exec rspec spec/parslet/mem_stress_spec.rb
1.500000 0.010000 1.510000 ( 1.508029)
.
Finished in 1.51 seconds
1 example, 0 failures
~/dev/parslet$
require 'spec_helper'
require 'benchmark'
describe Parslet::Parser do
class Parser < Parslet::Parser
rule(:space) { match[" "].repeat(1) }
rule(:space?) { space.maybe }
rule(:lparen) { str("(") >> space? }
rule(:rparen) { str(")") >> space? }
rule(:and_operator) { str("and") >> space? }
rule(:or_operator) { str("or") >> space? }
rule(:var) { match["0-9"].repeat(1).as(:var) >> space? }
# The primary rule deals with parentheses.
rule(:primary) { lparen >> or_operation >> rparen | var }
# Note that following rules are both right-recursive.
rule(:and_operation) { (primary.as(:left) >> and_operator >> and_operation.as(:right)).as(:and) | primary }
rule(:or_operation) { (and_operation.as(:left) >> or_operator >> or_operation.as(:right)).as(:or) | and_operation }
# We start at the lowest precedence rule.
root(:or_operation)
end
class Transformer < Parslet::Transform
rule(:var => simple(:var)) { [[Integer(var)]] }
rule(:or => { :left => subtree(:left), :right => subtree(:right) }) do
left << right
end
rule(:and => { :left => subtree(:left), :right => subtree(:right) }) do
res = []
left.each do |l|
right.each do |r|
res << (l + r)
end
end
res
end
end
def x
rand(50) + 1
end
def xs
x.to_s
end
def and_or
["and", "or"][rand(1)]
end
def input
100.times.map do
xs + " and (" + x.times.map{ |t| xs + and_or }.join(" ") + xs + ")"
end
end
it "should be chunky" do
@p = Parser.new
@t = Transformer.new
puts Benchmark.measure {
input.each do |i|
@t.apply(@p.parse(i))
end
}
end
end
Thread ID: 2148446640
Total Time: 36.468124
%total %self total self wait child calls Name
--------------------------------------------------------------------------------
100.00% 0.00% 36.47 0.00 0.00 36.47 1 Global#[No method] (/Users/ncr/dev/parslet/spec/parslet/mem_stress_spec.rb:81} /Users/ncr/dev/parslet/spec/parslet/mem_stress_spec.rb:81
36.47 0.00 0.00 36.47 1/52859 Array#each
--------------------------------------------------------------------------------
0.00 0.13 0.00 0.00 21738/52859 Enumerable#find
0.00 0.07 0.00 0.00 10680/52859 Enumerable#any?
0.00 0.09 0.00 0.00 14000/52859 Enumerable#inject
0.00 0.00 0.00 0.00 600/52859 Enumerable#max
0.00 0.09 0.00 0.00 5840/52859 Parslet::Atoms::Alternative#try
36.47 0.00 0.00 36.47 1/52859 Global#[No method]
100.00% 1.03% 36.47 0.37 0.00 36.47 52859 Array#each (ruby_runtime:0} ruby_runtime:0
36.47 0.00 0.00 36.46 100/100 Parslet::Atoms::Base#parse
36.42 0.05 0.00 36.42 3020/11380 Parslet::Atoms::Named#apply
0.63 0.20 0.00 0.43 11480/11480 Parslet::Atoms::Base#merge_fold
0.49 0.30 0.00 0.19 22338/22338 Parslet::Slice#satisfies?
0.24 0.07 0.00 0.17 2198/4718 Parslet::Slice#+
0.02 0.02 0.00 0.00 15076/56454 Kernel#instance_of?
0.02 0.02 0.00 0.00 5840/101996 Parslet::Atoms::Base::Success#error?
0.01 0.01 0.00 0.00 3120/47520 Parslet::Atoms::Base::Fail#error?
0.00 0.00 0.00 0.00 600/600 Fixnum#<=>
0.00 0.09 0.00 0.00 5940/81858 Parslet::Atoms::Base#apply
--------------------------------------------------------------------------------
36.47 0.00 0.00 36.46 100/100 Array#each
100.00% 0.01% 36.47 0.00 0.00 36.46 100 Parslet::Atoms::Base#parse (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:28} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:28
36.45 0.00 0.00 36.45 100/81858 Parslet::Atoms::Base#apply
0.01 0.00 0.00 0.01 200/27597 Class#new
0.00 0.00 0.00 0.00 100/41378 Parslet::Atoms::Base#flatten
0.00 0.00 0.00 0.00 100/100 Parslet::Source#eof?
0.00 0.00 0.00 0.00 100/101996 Parslet::Atoms::Base::Success#error?
0.00 0.00 0.00 0.00 100/40878 #<Class:0x101994d30>#result
--------------------------------------------------------------------------------
0.00 0.17 0.00 0.00 11380/81858 Parslet::Atoms::Named#apply
0.00 0.09 0.00 0.00 5940/81858 Array#each
0.00 0.33 0.00 0.00 21338/81858 Kernel#loop
0.00 0.38 0.00 0.00 25580/81858 Parslet::Atoms::Entity#try
0.00 0.26 0.00 0.00 17520/81858 Array#map
36.45 0.00 0.00 36.45 100/81858 Parslet::Atoms::Base#parse
99.95% 3.37% 36.45 1.23 0.00 36.45 81858 Parslet::Atoms::Base#apply (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:69} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:69
36.45 20.29 0.00 36.45 81858/81858 Parslet::Atoms::Context#cache
0.23 0.23 0.00 0.00 81858/287352 Parslet::Source#pos
0.14 0.14 0.00 0.00 55278/101996 Parslet::Atoms::Base::Success#error?
0.07 0.07 0.00 0.00 26580/26980 Parslet::Source#pos=
0.07 0.07 0.00 0.00 26580/47520 Parslet::Atoms::Base::Fail#error?
--------------------------------------------------------------------------------
36.45 20.29 0.00 36.45 81858/81858 Parslet::Atoms::Base#apply
99.94% 55.65% 36.45 20.29 0.00 36.45 81858 Parslet::Atoms::Context#cache (/Users/ncr/dev/parslet/lib/parslet/atoms/context.rb:19} /Users/ncr/dev/parslet/lib/parslet/atoms/context.rb:19
36.44 0.00 0.00 36.44 100/100 Parslet::Parser#try
36.43 0.03 0.00 36.43 5840/5840 Parslet::Atoms::Alternative#try
36.41 0.10 0.00 36.41 14500/14500 Parslet::Atoms::Sequence#try
11.71 0.22 0.00 11.58 13800/13800 Parslet::Atoms::Repetition#try
2.38 0.28 0.00 2.10 15798/15798 Parslet::Atoms::Re#try
1.36 0.48 0.00 0.89 81858/81858 Parslet::Atoms::Context#lookup
0.99 0.12 0.00 0.87 5940/5940 Parslet::Atoms::Str#try
0.96 0.45 0.00 0.50 81458/81458 Parslet::Atoms::Context#set
0.46 0.46 0.00 0.00 163316/287352 Parslet::Source#pos
0.12 0.12 0.00 0.00 81458/153190 Fixnum#-
0.00 0.00 0.00 0.00 400/26980 Parslet::Source#pos=
0.00 0.00 0.00 0.00 400/91126 Fixnum#+
0.00 0.16 0.00 0.00 25480/25580 Parslet::Atoms::Entity#try
--------------------------------------------------------------------------------
36.44 0.00 0.00 36.44 100/100 Parslet::Atoms::Context#cache
99.92% 0.00% 36.44 0.00 0.00 36.44 100 Parslet::Parser#try (/Users/ncr/dev/parslet/lib/parslet/parser.rb:60} /Users/ncr/dev/parslet/lib/parslet/parser.rb:60
36.44 0.00 0.00 36.44 100/25580 Parslet::Atoms::Entity#try
0.00 0.00 0.00 0.00 100/100 Parser#root
--------------------------------------------------------------------------------
0.00 0.16 0.00 0.00 25480/25580 Parslet::Atoms::Context#cache
36.44 0.00 0.00 36.44 100/25580 Parslet::Parser#try
99.91% 0.45% 36.44 0.17 0.00 36.44 25580 Parslet::Atoms::Entity#try (/Users/ncr/dev/parslet/lib/parslet/atoms/entity.rb:20} /Users/ncr/dev/parslet/lib/parslet/atoms/entity.rb:20
0.08 0.08 0.00 0.00 25580/25580 Parslet::Atoms::Entity#parslet
0.00 0.38 0.00 0.00 25580/81858 Parslet::Atoms::Base#apply
--------------------------------------------------------------------------------
36.43 0.03 0.00 36.43 5840/5840 Parslet::Atoms::Context#cache
99.89% 0.08% 36.43 0.03 0.00 36.43 5840 Parslet::Atoms::Alternative#try (/Users/ncr/dev/parslet/lib/parslet/atoms/alternative.rb:34} /Users/ncr/dev/parslet/lib/parslet/atoms/alternative.rb:34
0.00 0.09 0.00 0.00 5840/52859 Array#each
--------------------------------------------------------------------------------
0.00 0.13 0.00 0.00 8360/11380 Array#map
36.42 0.05 0.00 36.42 3020/11380 Array#each
99.86% 0.48% 36.42 0.17 0.00 36.42 11380 Parslet::Atoms::Named#apply (/Users/ncr/dev/parslet/lib/parslet/atoms/named.rb:16} /Users/ncr/dev/parslet/lib/parslet/atoms/named.rb:16
5.54 0.11 0.00 5.43 10980/10980 Parslet::Atoms::Named#produce_return_value
0.14 0.05 0.00 0.09 10980/40478 Parslet::Atoms::Base#success
0.03 0.03 0.00 0.00 10980/101996 Parslet::Atoms::Base::Success#error?
0.02 0.02 0.00 0.00 10980/40878 #<Class:0x101994d30>#result
0.00 0.00 0.00 0.00 400/47520 Parslet::Atoms::Base::Fail#error?
0.00 0.17 0.00 0.00 11380/81858 Parslet::Atoms::Base#apply
--------------------------------------------------------------------------------
36.41 0.10 0.00 36.41 14500/14500 Parslet::Atoms::Context#cache
99.84% 0.28% 36.41 0.10 0.00 36.41 14500 Parslet::Atoms::Sequence#try (/Users/ncr/dev/parslet/lib/parslet/atoms/sequence.rb:23} /Users/ncr/dev/parslet/lib/parslet/atoms/sequence.rb:23
36.41 0.35 0.00 36.40 14500/34351 Array#map
0.10 0.03 0.00 0.07 8260/40478 Parslet::Atoms::Base#success
0.02 0.02 0.00 0.00 8260/8260 Array#+
--------------------------------------------------------------------------------
0.00 0.14 0.00 0.00 19840/34351 Parslet::Atoms::Base#flatten
0.00 0.00 0.00 0.00 11/34351 Parslet::Atoms::Sequence#to_s_inner
36.41 0.35 0.00 36.40 14500/34351 Parslet::Atoms::Sequence#try
99.83% 1.36% 36.41 0.50 0.00 36.40 34351 Array#map (ruby_runtime:0} ruby_runtime:0
0.22 0.05 0.00 0.17 6240/20540 Parslet::Atoms::Base#error
0.05 0.05 0.00 0.00 19640/101996 Parslet::Atoms::Base::Success#error?
0.03 0.03 0.00 0.00 19640/40878 #<Class:0x101994d30>#result
0.02 0.02 0.00 0.00 6240/47520 Parslet::Atoms::Base::Fail#error?
0.01 0.01 0.00 0.00 6240/265822 Hash#[]
0.00 0.26 0.00 0.00 17520/81858 Parslet::Atoms::Base#apply
0.00 0.00 0.00 0.00 25/52 Parslet::Atoms::Base#to_s
0.00 0.34 0.00 0.00 30298/41378 Parslet::Atoms::Base#flatten
0.00 0.13 0.00 0.00 8360/11380 Parslet::Atoms::Named#apply
--------------------------------------------------------------------------------
11.71 0.22 0.00 11.58 13800/13800 Parslet::Atoms::Context#cache
32.11% 0.61% 11.71 0.22 0.00 11.58 13800 Parslet::Atoms::Repetition#try (/Users/ncr/dev/parslet/lib/parslet/atoms/repetition.rb:22} /Users/ncr/dev/parslet/lib/parslet/atoms/repetition.rb:22
11.48 0.31 0.00 11.28 13800/13800 Kernel#loop
0.10 0.03 0.00 0.07 8260/40478 Parslet::Atoms::Base#success
0.09 0.02 0.00 0.07 2920/20540 Parslet::Atoms::Base#error
0.04 0.04 0.00 0.00 13800/287352 Parslet::Source#pos
0.02 0.02 0.00 0.00 11180/34270 Fixnum#<
0.00 0.00 0.00 0.00 2920/265822 Hash#[]
--------------------------------------------------------------------------------
11.48 0.31 0.00 11.28 13800/13800 Parslet::Atoms::Repetition#try
31.48% 0.84% 11.48 0.31 0.00 11.28 13800 Kernel#loop (ruby_runtime:0} ruby_runtime:0
0.03 0.01 0.00 0.02 2620/40478 Parslet::Atoms::Base#success
0.03 0.03 0.00 0.00 11180/47520 Parslet::Atoms::Base::Fail#error?
0.03 0.03 0.00 0.00 10158/101996 Parslet::Atoms::Base::Success#error?
0.02 0.02 0.00 0.00 10158/10461 Array#<<
0.02 0.02 0.00 0.00 10158/91126 Fixnum#+
0.01 0.01 0.00 0.00 10158/40878 #<Class:0x101994d30>#result
0.00 0.00 0.00 0.00 2620/25058 Fixnum#>=
0.00 0.33 0.00 0.00 21338/81858 Parslet::Atoms::Base#apply
--------------------------------------------------------------------------------
5.54 0.11 0.00 5.43 10980/10980 Parslet::Atoms::Named#apply
15.18% 0.29% 5.54 0.11 0.00 5.43 10980 Parslet::Atoms::Named#produce_return_value (/Users/ncr/dev/parslet/lib/parslet/atoms/named.rb:33} /Users/ncr/dev/parslet/lib/parslet/atoms/named.rb:33
5.43 0.18 0.00 5.25 10980/41378 Parslet::Atoms::Base#flatten
--------------------------------------------------------------------------------
0.00 0.34 0.00 0.00 30298/41378 Array#map
0.00 0.00 0.00 0.00 100/41378 Parslet::Atoms::Base#parse
5.43 0.18 0.00 5.25 10980/41378 Parslet::Atoms::Named#produce_return_value
14.89% 1.43% 5.43 0.52 0.00 5.25 41378 Parslet::Atoms::Base#flatten (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:98} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:98
2.85 0.05 0.00 2.80 8660/8660 Parslet::Atoms::Base#flatten_sequence
1.79 0.09 0.00 1.71 5340/5340 Parslet::Atoms::Base#flatten_repetition
0.06 0.06 0.00 0.00 41378/56454 Kernel#instance_of?
0.05 0.05 0.00 0.00 36360/36360 Symbol#===
0.01 0.01 0.00 0.00 5840/19840 Array#first
0.00 0.14 0.00 0.00 19840/34351 Array#map
--------------------------------------------------------------------------------
1.58 1.27 0.00 0.31 5340/14000 Parslet::Atoms::Base#flatten_repetition
2.78 2.01 0.00 0.77 8660/14000 Parslet::Atoms::Base#flatten_sequence
11.97% 9.02% 4.36 3.29 0.00 1.08 14000 Parslet::Atoms::Base#foldl (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:124} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:124
1.00 0.05 0.00 0.95 14000/14000 Enumerable#inject
0.03 0.03 0.00 0.00 14000/14000 Array#[]
0.02 0.02 0.00 0.00 14000/19340 Array#empty?
0.02 0.02 0.00 0.00 14000/19840 Array#first
--------------------------------------------------------------------------------
2.85 0.05 0.00 2.80 8660/8660 Parslet::Atoms::Base#flatten
7.82% 0.14% 2.85 0.05 0.00 2.80 8660 Parslet::Atoms::Base#flatten_sequence (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:131} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:131
2.78 2.01 0.00 0.77 8660/14000 Parslet::Atoms::Base#foldl
0.02 0.02 0.00 0.00 8660/8660 Array#compact
--------------------------------------------------------------------------------
2.38 0.28 0.00 2.10 15798/15798 Parslet::Atoms::Context#cache
6.52% 0.77% 2.38 0.28 0.00 2.10 15798 Parslet::Atoms::Re#try (/Users/ncr/dev/parslet/lib/parslet/atoms/re.rb:23} /Users/ncr/dev/parslet/lib/parslet/atoms/re.rb:23
1.51 0.16 0.00 1.34 15798/21738 Parslet::Source#read
0.26 0.06 0.00 0.20 8260/20540 Parslet::Atoms::Base#error
0.18 0.07 0.00 0.12 15798/15798 Parslet::Slice#match
0.10 0.03 0.00 0.06 7538/40478 Parslet::Atoms::Base#success
0.04 0.04 0.00 0.00 15798/287352 Parslet::Source#pos
0.01 0.01 0.00 0.00 8260/265822 Hash#[]
--------------------------------------------------------------------------------
0.64 0.06 0.00 0.58 5940/21738 Parslet::Atoms::Str#try
1.51 0.16 0.00 1.34 15798/21738 Parslet::Atoms::Re#try
5.88% 0.61% 2.14 0.22 0.00 1.92 21738 Parslet::Source#read (/Users/ncr/dev/parslet/lib/parslet/source.rb:28} /Users/ncr/dev/parslet/lib/parslet/source.rb:28
1.77 0.21 0.00 1.56 21738/21738 Parslet::Source#read_from_cache
0.12 0.09 0.00 0.03 21738/39012 Parslet::Slice#size
0.03 0.03 0.00 0.00 21738/91126 Fixnum#+
--------------------------------------------------------------------------------
1.79 0.09 0.00 1.71 5340/5340 Parslet::Atoms::Base#flatten
4.92% 0.23% 1.79 0.09 0.00 1.71 5340 Parslet::Atoms::Base#flatten_repetition (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:174} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:174
1.58 1.27 0.00 0.31 5340/14000 Parslet::Atoms::Base#foldl
0.12 0.03 0.00 0.09 10680/10680 Enumerable#any?
0.00 0.00 0.00 0.00 2720/19340 Array#empty?
--------------------------------------------------------------------------------
1.77 0.21 0.00 1.56 21738/21738 Parslet::Source#read
4.85% 0.57% 1.77 0.21 0.00 1.56 21738 Parslet::Source#read_from_cache (/Users/ncr/dev/parslet/lib/parslet/source.rb:62} /Users/ncr/dev/parslet/lib/parslet/source.rb:62
0.82 0.13 0.00 0.69 21738/26456 Parslet::Slice#abs_slice
0.69 0.07 0.00 0.62 21738/21738 Enumerable#find
0.04 0.02 0.00 0.02 600/600 Parslet::Source#read_slice
0.00 0.00 0.00 0.00 1200/2500 StringIO#pos
0.00 0.00 0.00 0.00 600/600 Fixnum#<=
0.00 0.00 0.00 0.00 600/91126 Fixnum#+
0.00 0.00 0.00 0.00 600/153190 Fixnum#-
0.00 0.00 0.00 0.00 400/34270 Fixnum#<
0.00 0.00 0.00 0.00 200/200 StringIO#pos=
--------------------------------------------------------------------------------
1.36 0.48 0.00 0.89 81858/81858 Parslet::Atoms::Context#cache
3.74% 1.31% 1.36 0.48 0.00 0.89 81858 Parslet::Atoms::Context#lookup (/Users/ncr/dev/parslet/lib/parslet/atoms/context.rb:41} /Users/ncr/dev/parslet/lib/parslet/atoms/context.rb:41
0.89 0.50 0.00 0.38 163716/265822 Hash#[]
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/265822 Parser#primary
0.00 0.00 0.00 0.00 4/265822 Parser#space?
0.00 0.00 0.00 0.00 2/265822 Parser#and_operation
0.00 0.00 0.00 0.00 101/265822 Parser#or_operation
0.00 0.00 0.00 0.00 2920/265822 Parslet::Atoms::Repetition#try
0.01 0.01 0.00 0.00 3120/265822 Parslet::Atoms::Str#try
0.01 0.01 0.00 0.00 6240/265822 Array#map
0.01 0.01 0.00 0.00 8260/265822 Parslet::Atoms::Re#try
0.13 0.13 0.00 0.00 81458/265822 Parslet::Atoms::Context#set
0.89 0.50 0.00 0.38 163716/265822 Parslet::Atoms::Context#lookup
2.87% 1.81% 1.05 0.66 0.00 0.38 265822 Hash#[] (ruby_runtime:0} ruby_runtime:0
0.26 0.17 0.00 0.09 91916/91916 Hash#default
0.12 0.12 0.00 0.00 81858/163316 Kernel#hash
--------------------------------------------------------------------------------
1.00 0.05 0.00 0.95 14000/14000 Parslet::Atoms::Base#foldl
2.74% 0.12% 1.00 0.05 0.00 0.95 14000 Enumerable#inject (ruby_runtime:0} ruby_runtime:0
0.00 0.09 0.00 0.00 14000/52859 Array#each
--------------------------------------------------------------------------------
0.18 0.03 0.00 0.15 4718/26456 Parslet::Slice#+
0.82 0.13 0.00 0.69 21738/26456 Parslet::Source#read_from_cache
2.72% 0.43% 0.99 0.16 0.00 0.84 26456 Parslet::Slice#abs_slice (/Users/ncr/dev/parslet/lib/parslet/slice.rb:91} /Users/ncr/dev/parslet/lib/parslet/slice.rb:91
0.80 0.31 0.00 0.49 26456/26456 Parslet::Slice#slice
0.04 0.04 0.00 0.00 26456/153190 Fixnum#-
--------------------------------------------------------------------------------
0.99 0.12 0.00 0.87 5940/5940 Parslet::Atoms::Context#cache
2.72% 0.34% 0.99 0.12 0.00 0.87 5940 Parslet::Atoms::Str#try (/Users/ncr/dev/parslet/lib/parslet/atoms/str.rb:19} /Users/ncr/dev/parslet/lib/parslet/atoms/str.rb:19
0.64 0.06 0.00 0.58 5940/21738 Parslet::Source#read
0.10 0.02 0.00 0.08 3120/20540 Parslet::Atoms::Base#error
0.04 0.03 0.00 0.01 5940/15376 Parslet::Slice#==
0.04 0.01 0.00 0.02 2820/40478 Parslet::Atoms::Base#success
0.02 0.01 0.00 0.00 3120/39012 Parslet::Slice#size
0.02 0.02 0.00 0.00 5940/287352 Parslet::Source#pos
0.01 0.01 0.00 0.00 9060/70710 String#size
0.01 0.01 0.00 0.00 3120/7839 Fixnum#==
0.01 0.01 0.00 0.00 3120/265822 Hash#[]
--------------------------------------------------------------------------------
0.96 0.45 0.00 0.50 81458/81458 Parslet::Atoms::Context#cache
2.62% 1.25% 0.96 0.45 0.00 0.50 81458 Parslet::Atoms::Context#set (/Users/ncr/dev/parslet/lib/parslet/atoms/context.rb:44} /Users/ncr/dev/parslet/lib/parslet/atoms/context.rb:44
0.38 0.26 0.00 0.12 81458/91926 Hash#[]=
0.13 0.13 0.00 0.00 81458/265822 Hash#[]
--------------------------------------------------------------------------------
0.02 0.02 0.00 0.00 5940/287352 Parslet::Atoms::Str#try
0.02 0.02 0.00 0.00 6640/287352 Parslet::Atoms::Base#format_cause
0.04 0.04 0.00 0.00 13800/287352 Parslet::Atoms::Repetition#try
0.04 0.04 0.00 0.00 15798/287352 Parslet::Atoms::Re#try
0.23 0.23 0.00 0.00 81858/287352 Parslet::Atoms::Base#apply
0.46 0.46 0.00 0.00 163316/287352 Parslet::Atoms::Context#cache
2.23% 2.23% 0.81 0.81 0.00 0.00 287352 Parslet::Source#pos (/Users/ncr/dev/parslet/lib/parslet/source.rb:38} /Users/ncr/dev/parslet/lib/parslet/source.rb:38
--------------------------------------------------------------------------------
0.80 0.31 0.00 0.49 26456/26456 Parslet::Slice#abs_slice
2.19% 0.85% 0.80 0.31 0.00 0.49 26456 Parslet::Slice#slice (/Users/ncr/dev/parslet/lib/parslet/slice.rb:76} /Users/ncr/dev/parslet/lib/parslet/slice.rb:76
0.35 0.12 0.00 0.23 26456/27597 Class#new
0.05 0.05 0.00 0.00 26456/26456 String#slice
0.04 0.04 0.00 0.00 26456/49416 Kernel#class
0.04 0.04 0.00 0.00 26456/91126 Fixnum#+
--------------------------------------------------------------------------------
0.69 0.07 0.00 0.62 21738/21738 Parslet::Source#read_from_cache
1.90% 0.20% 0.69 0.07 0.00 0.62 21738 Enumerable#find (ruby_runtime:0} ruby_runtime:0
0.00 0.13 0.00 0.00 21738/52859 Array#each
--------------------------------------------------------------------------------
0.09 0.02 0.00 0.07 2920/20540 Parslet::Atoms::Repetition#try
0.10 0.02 0.00 0.08 3120/20540 Parslet::Atoms::Str#try
0.22 0.05 0.00 0.17 6240/20540 Array#map
0.26 0.06 0.00 0.20 8260/20540 Parslet::Atoms::Re#try
1.82% 0.42% 0.66 0.15 0.00 0.51 20540 Parslet::Atoms::Base#error (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:241} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:241
0.35 0.15 0.00 0.19 20540/20540 Parslet::Atoms::Base#format_cause
0.17 0.09 0.00 0.08 20540/20540 <Class::#<Class:0x101995078>>#new
--------------------------------------------------------------------------------
0.63 0.20 0.00 0.43 11480/11480 Array#each
1.72% 0.55% 0.63 0.20 0.00 0.43 11480 Parslet::Atoms::Base#merge_fold (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:136} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:136
0.27 0.08 0.00 0.19 2520/4718 Parslet::Slice#+
0.05 0.03 0.00 0.02 2620/2620 Parslet::Atoms::Base#warn_about_duplicate_keys
0.03 0.03 0.00 0.00 22960/49416 Kernel#class
0.02 0.02 0.00 0.00 14080/18898 Kernel#respond_to?
0.02 0.01 0.00 0.01 2620/2620 Hash#merge
0.02 0.02 0.00 0.00 11480/11480 Module#==
0.01 0.01 0.00 0.00 5140/5140 Kernel#is_a?
--------------------------------------------------------------------------------
0.24 0.07 0.00 0.17 2198/4718 Array#each
0.27 0.08 0.00 0.19 2520/4718 Parslet::Atoms::Base#merge_fold
1.39% 0.40% 0.51 0.14 0.00 0.36 4718 Parslet::Slice#+ (/Users/ncr/dev/parslet/lib/parslet/slice.rb:105} /Users/ncr/dev/parslet/lib/parslet/slice.rb:105
0.18 0.03 0.00 0.15 4718/26456 Parslet::Slice#abs_slice
0.08 0.06 0.00 0.02 14154/39012 Parslet::Slice#size
0.07 0.02 0.00 0.05 4718/15376 Parslet::Slice#==
0.01 0.01 0.00 0.00 9436/91126 Fixnum#+
0.01 0.01 0.00 0.00 4718/18898 Kernel#respond_to?
0.01 0.01 0.00 0.00 4718/7839 Fixnum#==
0.01 0.01 0.00 0.00 4718/4718 Kernel#==
--------------------------------------------------------------------------------
0.03 0.01 0.00 0.02 2620/40478 Kernel#loop
0.04 0.01 0.00 0.02 2820/40478 Parslet::Atoms::Str#try
0.10 0.03 0.00 0.06 7538/40478 Parslet::Atoms::Re#try
0.10 0.03 0.00 0.07 8260/40478 Parslet::Atoms::Sequence#try
0.10 0.03 0.00 0.07 8260/40478 Parslet::Atoms::Repetition#try
0.14 0.05 0.00 0.09 10980/40478 Parslet::Atoms::Named#apply
1.39% 0.47% 0.51 0.17 0.00 0.34 40478 Parslet::Atoms::Base#success (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:235} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:235
0.34 0.18 0.00 0.16 40478/40478 <Class::#<Class:0x101994d30>>#new
--------------------------------------------------------------------------------
0.49 0.30 0.00 0.19 22338/22338 Array#each
1.35% 0.82% 0.49 0.30 0.00 0.19 22338 Parslet::Slice#satisfies? (/Users/ncr/dev/parslet/lib/parslet/slice.rb:98} /Users/ncr/dev/parslet/lib/parslet/slice.rb:98
0.06 0.06 0.00 0.00 44676/153190 Fixnum#-
0.03 0.03 0.00 0.00 22338/25058 Fixnum#>=
0.03 0.03 0.00 0.00 22338/91126 Fixnum#+
0.03 0.03 0.00 0.00 22338/70710 String#size
0.03 0.03 0.00 0.00 22338/34270 Fixnum#<
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/91926 Parser#lparen
0.00 0.00 0.00 0.00 1/91926 Parser#or_operation
0.00 0.00 0.00 0.00 1/91926 Parser#rparen
0.00 0.00 0.00 0.00 1/91926 Parser#primary
0.00 0.00 0.00 0.00 1/91926 Parser#and_operator
0.00 0.00 0.00 0.00 1/91926 Parser#and_operation
0.00 0.00 0.00 0.00 1/91926 Parser#var
0.00 0.00 0.00 0.00 1/91926 Parser#space
0.00 0.00 0.00 0.00 1/91926 Parser#or_operator
0.00 0.00 0.00 0.00 1/91926 Parser#space?
0.02 0.02 0.00 0.00 10458/91926 Proc#call
0.38 0.26 0.00 0.12 81458/91926 Parslet::Atoms::Context#set
1.09% 0.76% 0.40 0.28 0.00 0.12 91926 Hash#[]= (ruby_runtime:0} ruby_runtime:0
0.12 0.12 0.00 0.00 81458/163316 Kernel#hash
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2/27597 Parslet::Atoms::Re#initialize
0.00 0.00 0.00 0.00 200/27597 Parslet::Source#initialize
0.00 0.00 0.00 0.00 100/27597 Parslet::Atoms::Context#initialize
0.00 0.00 0.00 0.00 1/27597 Parser#and_operator
0.00 0.00 0.00 0.00 1/27597 Parser#space
0.00 0.00 0.00 0.00 1/27597 Parser#var
0.00 0.00 0.00 0.00 1/27597 Parser#rparen
0.00 0.00 0.00 0.00 1/27597 Parser#space?
0.00 0.00 0.00 0.00 1/27597 Parser#lparen
0.00 0.00 0.00 0.00 1/27597 Parser#primary
0.00 0.00 0.00 0.00 1/27597 Parser#and_operation
0.00 0.00 0.00 0.00 2/27597 Parslet#match
0.00 0.00 0.00 0.00 1/27597 Parser#or_operation
0.00 0.00 0.00 0.00 1/27597 Parser#or_operator
0.00 0.00 0.00 0.00 1/27597 Parslet::Atoms::DSL#maybe
0.00 0.00 0.00 0.00 7/27597 Parslet::Atoms::DSL#as
0.00 0.00 0.00 0.00 2/27597 Parslet::DelayedMatchConstructor#[]
0.00 0.00 0.00 0.00 4/27597 Parslet#str
0.00 0.00 0.00 0.00 2/27597 Parslet::Atoms::DSL#repeat
0.00 0.00 0.00 0.00 3/27597 Parslet::Atoms::DSL#|
0.00 0.00 0.00 0.00 8/27597 Parslet::Atoms::DSL#>>
0.01 0.00 0.00 0.01 600/27597 Parslet::Source#read_slice
0.01 0.00 0.00 0.01 200/27597 Parslet::Atoms::Base#parse
0.35 0.12 0.00 0.23 26456/27597 Parslet::Slice#slice
1.04% 0.35% 0.38 0.13 0.00 0.25 27597 Class#new (ruby_runtime:0} ruby_runtime:0
0.19 0.19 0.00 0.00 27056/27056 Parslet::Slice#initialize
0.04 0.04 0.00 0.00 27395/27395 <Class::Object>#allocate
0.01 0.00 0.00 0.01 100/100 Parslet::Source#initialize
0.00 0.00 0.00 0.00 100/100 Parslet::Source::LineCache#initialize
0.00 0.00 0.00 0.00 100/100 Parslet::Atoms::Context#initialize
0.00 0.00 0.00 0.00 8/8 Parslet::Atoms::Sequence#initialize
0.00 0.00 0.00 0.00 3/3 Parslet::Atoms::Alternative#initialize
0.00 0.00 0.00 0.00 100/100 StringIO#initialize
0.00 0.00 0.00 0.00 100/100 Hash#initialize
0.00 0.00 0.00 0.00 3/3 Parslet::Atoms::Repetition#initialize
0.00 0.00 0.00 0.00 100/2720 <Class::Hash>#allocate
0.00 0.00 0.00 0.00 100/100 <Class::StringIO>#allocate
0.00 0.00 0.00 0.00 10/10 Parslet::Atoms::Entity#initialize
0.00 0.00 0.00 0.00 2/2 Parslet::Atoms::Re#initialize
0.00 0.00 0.00 0.00 4/4 Parslet::Atoms::Str#initialize
0.00 0.00 0.00 0.00 7/7 Parslet::Atoms::Named#initialize
0.00 0.00 0.00 0.00 2/2 Regexp#initialize
0.00 0.00 0.00 0.00 2/2 <Class::Regexp>#allocate
0.00 0.00 0.00 0.00 2/139 Object#initialize
--------------------------------------------------------------------------------
0.35 0.15 0.00 0.19 20540/20540 Parslet::Atoms::Base#error
0.95% 0.42% 0.35 0.15 0.00 0.19 20540 Parslet::Atoms::Base#format_cause (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:274} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:274
0.17 0.09 0.00 0.08 20540/20540 <Class::#<Class:0x1019943d0>>#new
0.02 0.02 0.00 0.00 6640/287352 Parslet::Source#pos
--------------------------------------------------------------------------------
0.34 0.18 0.00 0.16 40478/40478 Parslet::Atoms::Base#success
0.92% 0.49% 0.34 0.18 0.00 0.16 40478 <Class::#<Class:0x101994d30>>#new (ruby_runtime:0} ruby_runtime:0
0.08 0.08 0.00 0.00 40478/40478 <Class::#<Class:0x101994d30>>#allocate
0.08 0.08 0.00 0.00 40478/81558 Struct#initialize
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/101996 Parslet::Atoms::Base#parse
0.02 0.02 0.00 0.00 5840/101996 Array#each
0.03 0.03 0.00 0.00 10158/101996 Kernel#loop
0.03 0.03 0.00 0.00 10980/101996 Parslet::Atoms::Named#apply
0.05 0.05 0.00 0.00 19640/101996 Array#map
0.14 0.14 0.00 0.00 55278/101996 Parslet::Atoms::Base#apply
0.74% 0.74% 0.27 0.27 0.00 0.00 101996 Parslet::Atoms::Base::Success#error? (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:21} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:21
--------------------------------------------------------------------------------
0.26 0.17 0.00 0.09 91916/91916 Hash#[]
0.72% 0.47% 0.26 0.17 0.00 0.09 91916 Hash#default (ruby_runtime:0} ruby_runtime:0
0.09 0.07 0.00 0.02 10458/10468 Proc#call
--------------------------------------------------------------------------------
0.12 0.12 0.00 0.00 81858/163316 Hash#[]
0.12 0.12 0.00 0.00 81458/163316 Hash#[]=
0.66% 0.66% 0.24 0.24 0.00 0.00 163316 Kernel#hash (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 600/153190 Parslet::Source#read_from_cache
0.04 0.04 0.00 0.00 26456/153190 Parslet::Slice#abs_slice
0.06 0.06 0.00 0.00 44676/153190 Parslet::Slice#satisfies?
0.12 0.12 0.00 0.00 81458/153190 Parslet::Atoms::Context#cache
0.62% 0.62% 0.23 0.23 0.00 0.00 153190 Fixnum#- (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.02 0.01 0.00 0.00 3120/39012 Parslet::Atoms::Str#try
0.08 0.06 0.00 0.02 14154/39012 Parslet::Slice#+
0.12 0.09 0.00 0.03 21738/39012 Parslet::Source#read
0.61% 0.45% 0.22 0.16 0.00 0.06 39012 Parslet::Slice#size (/Users/ncr/dev/parslet/lib/parslet/slice.rb:102} /Users/ncr/dev/parslet/lib/parslet/slice.rb:102
0.06 0.06 0.00 0.00 39012/70710 String#size
--------------------------------------------------------------------------------
0.19 0.19 0.00 0.00 27056/27056 Class#new
0.53% 0.53% 0.19 0.19 0.00 0.00 27056 Parslet::Slice#initialize (/Users/ncr/dev/parslet/lib/parslet/slice.rb:54} /Users/ncr/dev/parslet/lib/parslet/slice.rb:54
--------------------------------------------------------------------------------
0.18 0.07 0.00 0.12 15798/15798 Parslet::Atoms::Re#try
0.50% 0.18% 0.18 0.07 0.00 0.12 15798 Parslet::Slice#match (/Users/ncr/dev/parslet/lib/parslet/slice.rb:68} /Users/ncr/dev/parslet/lib/parslet/slice.rb:68
0.12 0.05 0.00 0.06 15798/15798 String#match
--------------------------------------------------------------------------------
0.17 0.09 0.00 0.08 20540/20540 Parslet::Atoms::Base#format_cause
0.48% 0.25% 0.17 0.09 0.00 0.08 20540 <Class::#<Class:0x1019943d0>>#new (ruby_runtime:0} ruby_runtime:0
0.04 0.04 0.00 0.00 20540/20540 <Class::#<Class:0x1019943d0>>#allocate
0.04 0.04 0.00 0.00 20540/81558 Struct#initialize
--------------------------------------------------------------------------------
0.17 0.09 0.00 0.08 20540/20540 Parslet::Atoms::Base#error
0.46% 0.24% 0.17 0.09 0.00 0.08 20540 <Class::#<Class:0x101995078>>#new (ruby_runtime:0} ruby_runtime:0
0.04 0.04 0.00 0.00 20540/20540 <Class::#<Class:0x101995078>>#allocate
0.04 0.04 0.00 0.00 20540/81558 Struct#initialize
--------------------------------------------------------------------------------
0.04 0.04 0.00 0.00 20540/81558 <Class::#<Class:0x101995078>>#new
0.04 0.04 0.00 0.00 20540/81558 <Class::#<Class:0x1019943d0>>#new
0.08 0.08 0.00 0.00 40478/81558 <Class::#<Class:0x101994d30>>#new
0.42% 0.42% 0.15 0.15 0.00 0.00 81558 Struct#initialize (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 400/91126 Parslet::Atoms::Context#cache
0.00 0.00 0.00 0.00 600/91126 Parslet::Source#read_from_cache
0.01 0.01 0.00 0.00 9436/91126 Parslet::Slice#+
0.02 0.02 0.00 0.00 10158/91126 Kernel#loop
0.03 0.03 0.00 0.00 21738/91126 Parslet::Source#read
0.03 0.03 0.00 0.00 22338/91126 Parslet::Slice#satisfies?
0.04 0.04 0.00 0.00 26456/91126 Parslet::Slice#slice
0.37% 0.37% 0.13 0.13 0.00 0.00 91126 Fixnum#+ (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 400/47520 Parslet::Atoms::Named#apply
0.01 0.01 0.00 0.00 3120/47520 Array#each
0.02 0.02 0.00 0.00 6240/47520 Array#map
0.03 0.03 0.00 0.00 11180/47520 Kernel#loop
0.07 0.07 0.00 0.00 26580/47520 Parslet::Atoms::Base#apply
0.36% 0.36% 0.13 0.13 0.00 0.00 47520 Parslet::Atoms::Base::Fail#error? (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:14} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:14
--------------------------------------------------------------------------------
0.12 0.03 0.00 0.09 10680/10680 Parslet::Atoms::Base#flatten_repetition
0.34% 0.09% 0.12 0.03 0.00 0.09 10680 Enumerable#any? (ruby_runtime:0} ruby_runtime:0
0.00 0.07 0.00 0.00 10680/52859 Array#each
--------------------------------------------------------------------------------
0.12 0.05 0.00 0.06 15798/15798 Parslet::Slice#match
0.32% 0.15% 0.12 0.05 0.00 0.06 15798 String#match (ruby_runtime:0} ruby_runtime:0
0.06 0.06 0.00 0.00 15798/15798 Regexp#match
--------------------------------------------------------------------------------
0.00 0.02 0.00 0.00 4718/15376 String#==
0.04 0.03 0.00 0.01 5940/15376 Parslet::Atoms::Str#try
0.07 0.02 0.00 0.05 4718/15376 Parslet::Slice#+
0.29% 0.18% 0.10 0.07 0.00 0.06 15376 Parslet::Slice#== (/Users/ncr/dev/parslet/lib/parslet/slice.rb:62} /Users/ncr/dev/parslet/lib/parslet/slice.rb:62
0.06 0.04 0.00 0.03 15376/15376 String#==
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 300/70710 Parslet::Source#read_slice
0.01 0.01 0.00 0.00 9060/70710 Parslet::Atoms::Str#try
0.03 0.03 0.00 0.00 22338/70710 Parslet::Slice#satisfies?
0.06 0.06 0.00 0.00 39012/70710 Parslet::Slice#size
0.28% 0.28% 0.10 0.10 0.00 0.00 70710 String#size (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 10/10468 Parslet::Atoms::Entity#parslet
0.09 0.07 0.00 0.02 10458/10468 Hash#default
0.27% 0.20% 0.10 0.07 0.00 0.03 10468 Proc#call (ruby_runtime:0} ruby_runtime:0
0.02 0.02 0.00 0.00 10458/91926 Hash#[]=
0.00 0.00 0.00 0.00 10/10 Kernel#instance_eval
--------------------------------------------------------------------------------
0.02 0.02 0.00 0.00 15076/56454 Array#each
0.06 0.06 0.00 0.00 41378/56454 Parslet::Atoms::Base#flatten
0.23% 0.23% 0.09 0.09 0.00 0.00 56454 Kernel#instance_of? (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.08 0.08 0.00 0.00 25580/25580 Parslet::Atoms::Entity#try
0.23% 0.22% 0.08 0.08 0.00 0.00 25580 Parslet::Atoms::Entity#parslet (/Users/ncr/dev/parslet/lib/parslet/atoms/entity.rb:24} /Users/ncr/dev/parslet/lib/parslet/atoms/entity.rb:24
0.00 0.00 0.00 0.00 10/10468 Proc#call
0.00 0.00 0.00 0.00 10/10 Kernel#tap
--------------------------------------------------------------------------------
0.08 0.08 0.00 0.00 40478/40478 <Class::#<Class:0x101994d30>>#new
0.22% 0.22% 0.08 0.08 0.00 0.00 40478 <Class::#<Class:0x101994d30>>#allocate (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 400/26980 Parslet::Atoms::Context#cache
0.07 0.07 0.00 0.00 26580/26980 Parslet::Atoms::Base#apply
0.21% 0.21% 0.08 0.08 0.00 0.00 26980 Parslet::Source#pos= (/Users/ncr/dev/parslet/lib/parslet/source.rb:41} /Users/ncr/dev/parslet/lib/parslet/source.rb:41
--------------------------------------------------------------------------------
0.03 0.03 0.00 0.00 22960/49416 Parslet::Atoms::Base#merge_fold
0.04 0.04 0.00 0.00 26456/49416 Parslet::Slice#slice
0.21% 0.21% 0.07 0.07 0.00 0.00 49416 Kernel#class (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.06 0.06 0.00 0.00 15798/15798 String#match
0.17% 0.17% 0.06 0.06 0.00 0.00 15798 Regexp#match (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.06 0.04 0.00 0.03 15376/15376 Parslet::Slice#==
0.16% 0.11% 0.06 0.04 0.00 0.03 15376 String#== (ruby_runtime:0} ruby_runtime:0
0.00 0.02 0.00 0.00 4718/15376 Parslet::Slice#==
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/40878 Parslet::Atoms::Base#parse
0.01 0.01 0.00 0.00 10158/40878 Kernel#loop
0.02 0.02 0.00 0.00 10980/40878 Parslet::Atoms::Named#apply
0.03 0.03 0.00 0.00 19640/40878 Array#map
0.16% 0.16% 0.06 0.06 0.00 0.00 40878 #<Class:0x101994d30>#result (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.05 0.05 0.00 0.00 26456/26456 Parslet::Slice#slice
0.15% 0.15% 0.05 0.05 0.00 0.00 26456 String#slice (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.05 0.03 0.00 0.02 2620/2620 Parslet::Atoms::Base#merge_fold
0.14% 0.08% 0.05 0.03 0.00 0.02 2620 Parslet::Atoms::Base#warn_about_duplicate_keys (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:282} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:282
0.01 0.01 0.00 0.00 5240/5240 Hash#keys
0.01 0.01 0.00 0.00 2620/2620 Array#&
0.00 0.00 0.00 0.00 2620/19340 Array#empty?
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 52/34270 Parslet::Atoms::Base#to_s
0.00 0.00 0.00 0.00 300/34270 Parslet::Source#read_slice
0.00 0.00 0.00 0.00 400/34270 Parslet::Source#read_from_cache
0.02 0.02 0.00 0.00 11180/34270 Parslet::Atoms::Repetition#try
0.03 0.03 0.00 0.00 22338/34270 Parslet::Slice#satisfies?
0.14% 0.14% 0.05 0.05 0.00 0.00 34270 Fixnum#< (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.05 0.05 0.00 0.00 36360/36360 Parslet::Atoms::Base#flatten
0.13% 0.13% 0.05 0.05 0.00 0.00 36360 Symbol#=== (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.04 0.04 0.00 0.00 27395/27395 Class#new
0.12% 0.12% 0.04 0.04 0.00 0.00 27395 <Class::Object>#allocate (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.04 0.04 0.00 0.00 20540/20540 <Class::#<Class:0x1019943d0>>#new
0.12% 0.12% 0.04 0.04 0.00 0.00 20540 <Class::#<Class:0x1019943d0>>#allocate (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.04 0.02 0.00 0.02 600/600 Parslet::Source#read_from_cache
0.12% 0.05% 0.04 0.02 0.00 0.02 600 Parslet::Source#read_slice (/Users/ncr/dev/parslet/lib/parslet/source.rb:85} /Users/ncr/dev/parslet/lib/parslet/source.rb:85
0.01 0.00 0.00 0.01 600/27597 Class#new
0.01 0.00 0.00 0.00 600/600 Enumerable#max
0.00 0.00 0.00 0.00 600/600 Parslet::Source::LineCache#scan_for_line_endings
0.00 0.00 0.00 0.00 1200/2500 StringIO#pos
0.00 0.00 0.00 0.00 600/600 StringIO#read
0.00 0.00 0.00 0.00 300/300 Array#size
0.00 0.00 0.00 0.00 300/10461 Array#<<
0.00 0.00 0.00 0.00 300/70710 String#size
0.00 0.00 0.00 0.00 300/300 Fixnum#>
0.00 0.00 0.00 0.00 300/34270 Fixnum#<
--------------------------------------------------------------------------------
0.04 0.04 0.00 0.00 20540/20540 <Class::#<Class:0x101995078>>#new
0.12% 0.12% 0.04 0.04 0.00 0.00 20540 <Class::#<Class:0x101995078>>#allocate (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/25058 Parslet::Source#eof?
0.00 0.00 0.00 0.00 2620/25058 Kernel#loop
0.03 0.03 0.00 0.00 22338/25058 Parslet::Slice#satisfies?
0.11% 0.11% 0.04 0.04 0.00 0.00 25058 Fixnum#>= (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/18898 Parslet::Source#initialize
0.01 0.01 0.00 0.00 4718/18898 Parslet::Slice#+
0.02 0.02 0.00 0.00 14080/18898 Parslet::Atoms::Base#merge_fold
0.09% 0.09% 0.03 0.03 0.00 0.00 18898 Kernel#respond_to? (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2620/19340 Parslet::Atoms::Base#warn_about_duplicate_keys
0.00 0.00 0.00 0.00 2720/19340 Parslet::Atoms::Base#flatten_repetition
0.02 0.02 0.00 0.00 14000/19340 Parslet::Atoms::Base#foldl
0.09% 0.09% 0.03 0.03 0.00 0.00 19340 Array#empty? (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.03 0.03 0.00 0.00 14000/14000 Parslet::Atoms::Base#foldl
0.08% 0.08% 0.03 0.03 0.00 0.00 14000 Array#[] (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.01 0.01 0.00 0.00 5840/19840 Parslet::Atoms::Base#flatten
0.02 0.02 0.00 0.00 14000/19840 Parslet::Atoms::Base#foldl
0.08% 0.08% 0.03 0.03 0.00 0.00 19840 Array#first (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 3/10461 Parslet::Atoms::Sequence#>>
0.00 0.00 0.00 0.00 300/10461 Parslet::Source#read_slice
0.02 0.02 0.00 0.00 10158/10461 Kernel#loop
0.07% 0.07% 0.02 0.02 0.00 0.00 10461 Array#<< (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.02 0.01 0.00 0.01 2620/2620 Parslet::Atoms::Base#merge_fold
0.06% 0.04% 0.02 0.01 0.00 0.01 2620 Hash#merge (ruby_runtime:0} ruby_runtime:0
0.01 0.01 0.00 0.00 2620/2620 Hash#initialize_copy
0.00 0.00 0.00 0.00 2620/2720 <Class::Hash>#allocate
--------------------------------------------------------------------------------
0.02 0.02 0.00 0.00 11480/11480 Parslet::Atoms::Base#merge_fold
0.05% 0.05% 0.02 0.02 0.00 0.00 11480 Module#== (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.02 0.02 0.00 0.00 8260/8260 Parslet::Atoms::Sequence#try
0.05% 0.05% 0.02 0.02 0.00 0.00 8260 Array#+ (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.02 0.02 0.00 0.00 8660/8660 Parslet::Atoms::Base#flatten_sequence
0.04% 0.04% 0.02 0.02 0.00 0.00 8660 Array#compact (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/7839 Parslet::Atoms::Repetition#to_s_inner
0.01 0.01 0.00 0.00 3120/7839 Parslet::Atoms::Str#try
0.01 0.01 0.00 0.00 4718/7839 Parslet::Slice#+
0.03% 0.03% 0.01 0.01 0.00 0.00 7839 Fixnum#== (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.01 0.01 0.00 0.00 5240/5240 Parslet::Atoms::Base#warn_about_duplicate_keys
0.03% 0.03% 0.01 0.01 0.00 0.00 5240 Hash#keys (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.01 0.00 0.00 0.01 100/100 Class#new
0.03% 0.01% 0.01 0.00 0.00 0.01 100 Parslet::Source#initialize (/Users/ncr/dev/parslet/lib/parslet/source.rb:11} /Users/ncr/dev/parslet/lib/parslet/source.rb:11
0.00 0.00 0.00 0.00 100/18898 Kernel#respond_to?
0.00 0.00 0.00 0.00 100/2500 StringIO#pos
0.00 0.00 0.00 0.00 200/27597 Class#new
--------------------------------------------------------------------------------
0.01 0.01 0.00 0.00 5140/5140 Parslet::Atoms::Base#merge_fold
0.02% 0.02% 0.01 0.01 0.00 0.00 5140 Kernel#is_a? (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.01 0.01 0.00 0.00 4718/4718 Parslet::Slice#+
0.02% 0.02% 0.01 0.01 0.00 0.00 4718 Kernel#== (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.01 0.01 0.00 0.00 2620/2620 Parslet::Atoms::Base#warn_about_duplicate_keys
0.02% 0.02% 0.01 0.01 0.00 0.00 2620 Array#& (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.01 0.01 0.00 0.00 2620/2620 Hash#merge
0.01% 0.01% 0.01 0.01 0.00 0.00 2620 Hash#initialize_copy (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/2720 Class#new
0.00 0.00 0.00 0.00 2620/2720 Hash#merge
0.01% 0.01% 0.01 0.01 0.00 0.00 2720 <Class::Hash>#allocate (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.01 0.00 0.00 0.00 600/600 Parslet::Source#read_slice
0.01% 0.01% 0.01 0.00 0.00 0.00 600 Enumerable#max (ruby_runtime:0} ruby_runtime:0
0.00 0.00 0.00 0.00 600/52859 Array#each
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/100 Class#new
0.01% 0.00% 0.00 0.00 0.00 0.00 100 Parslet::Source::LineCache#initialize (/Users/ncr/dev/parslet/lib/parslet/source/line_cache.rb:7} /Users/ncr/dev/parslet/lib/parslet/source/line_cache.rb:7
0.00 0.00 0.00 0.00 100/100 Kernel#extend
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 600/600 Parslet::Source#read_slice
0.01% 0.01% 0.00 0.00 0.00 0.00 600 Parslet::Source::LineCache#scan_for_line_endings (/Users/ncr/dev/parslet/lib/parslet/source/line_cache.rb:33} /Users/ncr/dev/parslet/lib/parslet/source/line_cache.rb:33
0.00 0.00 0.00 0.00 300/300 String#index
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/100 Parslet::Source::LineCache#initialize
0.01% 0.00% 0.00 0.00 0.00 0.00 100 Kernel#extend (ruby_runtime:0} ruby_runtime:0
0.00 0.00 0.00 0.00 100/100 Module#extend_object
0.00 0.00 0.00 0.00 100/100 Module#extended
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/2500 Parslet::Source#initialize
0.00 0.00 0.00 0.00 1200/2500 Parslet::Source#read_slice
0.00 0.00 0.00 0.00 1200/2500 Parslet::Source#read_from_cache
0.01% 0.01% 0.00 0.00 0.00 0.00 2500 StringIO#pos (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 10/10 Proc#call
0.01% 0.00% 0.00 0.00 0.00 0.00 10 Kernel#instance_eval (ruby_runtime:0} ruby_runtime:0
0.00 0.00 0.00 0.00 8/8 Parslet::Atoms::DSL#>>
0.00 0.00 0.00 0.00 3/3 Parslet::Atoms::DSL#|
0.00 0.00 0.00 0.00 2/2 Parslet::Atoms::DSL#repeat
0.00 0.00 0.00 0.00 4/4 Parslet#str
0.00 0.00 0.00 0.00 7/7 Parslet::Atoms::DSL#as
0.00 0.00 0.00 0.00 2/2 Parslet::DelayedMatchConstructor#[]
0.00 0.00 0.00 0.00 5/5 Parser#space?
0.00 0.00 0.00 0.00 2/2 Parser#primary
0.00 0.00 0.00 0.00 3/3 Parser#and_operation
0.00 0.00 0.00 0.00 1/1 Parslet::Atoms::DSL#maybe
0.00 0.00 0.00 0.00 1/1 Parser#var
0.00 0.00 0.00 0.00 1/1 Parser#space
0.00 0.00 0.00 0.00 1/1 Parser#lparen
0.00 0.00 0.00 0.00 1/1 Parser#and_operator
0.00 0.00 0.00 0.00 1/1 Parser#rparen
0.00 0.00 0.00 0.00 1/1 Parser#or_operator
0.00 0.00 0.00 0.00 2/2 Parslet#match
0.00 0.00 0.00 0.00 2/102 Parser#or_operation
0.00 0.00 0.00 0.00 3/3 Parslet::Atoms::Sequence#>>
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/100 Kernel#extend
0.01% 0.01% 0.00 0.00 0.00 0.00 100 Module#extend_object (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/100 Parslet::Parser#try
0.01% 0.00% 0.00 0.00 0.00 0.00 100 Parser#root (/Users/ncr/dev/parslet/lib/parslet/parser.rb:55} /Users/ncr/dev/parslet/lib/parslet/parser.rb:55
0.00 0.00 0.00 0.00 100/100 Kernel#send
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 3/17 Parslet::Atoms::Repetition#initialize
0.00 0.00 0.00 0.00 6/17 Array#inspect
0.00 0.00 0.00 0.00 8/17 Parslet::Atoms::Sequence#initialize
0.01% 0.00% 0.00 0.00 0.00 0.00 17 Parslet::Atoms::Base#inspect (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:209} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:209
0.00 0.00 0.00 0.00 17/52 Parslet::Atoms::Base#to_s
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/100 Class#new
0.01% 0.00% 0.00 0.00 0.00 0.00 100 Parslet::Atoms::Context#initialize (/Users/ncr/dev/parslet/lib/parslet/atoms/context.rb:7} /Users/ncr/dev/parslet/lib/parslet/atoms/context.rb:7
0.00 0.00 0.00 0.00 100/27597 Class#new
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 9/52 Parslet::Atoms::Named#to_s_inner
0.00 0.00 0.00 0.00 1/52 Parslet::Atoms::Repetition#to_s_inner
0.00 0.00 0.00 0.00 25/52 Array#map
0.00 0.00 0.00 0.00 17/52 Parslet::Atoms::Base#inspect
0.01% 0.00% 0.00 0.00 0.00 0.00 52 Parslet::Atoms::Base#to_s (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:202} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:202
0.00 0.00 0.00 0.00 11/11 Parslet::Atoms::Sequence#to_s_inner
0.00 0.00 0.00 0.00 9/9 Parslet::Atoms::Named#to_s_inner
0.00 0.00 0.00 0.00 24/24 Parslet::Atoms::Entity#to_s_inner
0.00 0.00 0.00 0.00 80/80 Parslet::Atoms::Base#precedence
0.00 0.00 0.00 0.00 52/34270 Fixnum#<
0.00 0.00 0.00 0.00 22/22 Parslet::Atoms::Sequence#precedence
0.00 0.00 0.00 0.00 1/1 Parslet::Atoms::Repetition#to_s_inner
0.00 0.00 0.00 0.00 3/3 Parslet::Atoms::Re#to_s_inner
0.00 0.00 0.00 0.00 4/4 Parslet::Atoms::Str#to_s_inner
0.00 0.00 0.00 0.00 6/11 String#+
0.00 0.00 0.00 0.00 2/2 Parslet::Atoms::Repetition#precedence
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/100 Parser#root
0.00% 0.00% 0.00 0.00 0.00 0.00 100 Kernel#send (ruby_runtime:0} ruby_runtime:0
0.00 0.00 0.00 0.00 100/102 Parser#or_operation
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2/102 Kernel#instance_eval
0.00 0.00 0.00 0.00 100/102 Kernel#send
0.00% 0.00% 0.00 0.00 0.00 0.00 102 Parser#or_operation (/Users/ncr/dev/parslet/lib/parslet.rb:98} /Users/ncr/dev/parslet/lib/parslet.rb:98
0.00 0.00 0.00 0.00 102/118 Hash#has_key?
0.00 0.00 0.00 0.00 101/265822 Hash#[]
0.00 0.00 0.00 0.00 1/27597 Class#new
0.00 0.00 0.00 0.00 1/10 Kernel#proc
0.00 0.00 0.00 0.00 1/91926 Hash#[]=
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 11/11 Parslet::Atoms::Base#to_s
0.00% 0.00% 0.00 0.00 0.00 0.00 11 Parslet::Atoms::Sequence#to_s_inner (/Users/ncr/dev/parslet/lib/parslet/atoms/sequence.rb:37} /Users/ncr/dev/parslet/lib/parslet/atoms/sequence.rb:37
0.00 0.00 0.00 0.00 11/34351 Array#map
0.00 0.00 0.00 0.00 11/11 Array#join
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 8/8 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 8 Parslet::Atoms::DSL#>> (/Users/ncr/dev/parslet/lib/parslet/atoms/dsl.rb:43} /Users/ncr/dev/parslet/lib/parslet/atoms/dsl.rb:43
0.00 0.00 0.00 0.00 8/27597 Class#new
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 600/600 Parslet::Source#read_slice
0.00% 0.00% 0.00 0.00 0.00 0.00 600 StringIO#read (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 8/8 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 8 Parslet::Atoms::Sequence#initialize (/Users/ncr/dev/parslet/lib/parslet/atoms/sequence.rb:9} /Users/ncr/dev/parslet/lib/parslet/atoms/sequence.rb:9
0.00 0.00 0.00 0.00 8/17 Parslet::Atoms::Base#inspect
0.00 0.00 0.00 0.00 8/139 Object#initialize
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 600/600 Parslet::Source#read_from_cache
0.00% 0.00% 0.00 0.00 0.00 0.00 600 Fixnum#<= (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 600/600 Array#each
0.00% 0.00% 0.00 0.00 0.00 0.00 600 Fixnum#<=> (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 3/3 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 3 Parslet::Atoms::DSL#| (/Users/ncr/dev/parslet/lib/parslet/atoms/dsl.rb:55} /Users/ncr/dev/parslet/lib/parslet/atoms/dsl.rb:55
0.00 0.00 0.00 0.00 3/27597 Class#new
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 300/300 Parslet::Source::LineCache#scan_for_line_endings
0.00% 0.00% 0.00 0.00 0.00 0.00 300 String#index (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 3/3 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 3 Parslet::Atoms::Alternative#initialize (/Users/ncr/dev/parslet/lib/parslet/atoms/alternative.rb:18} /Users/ncr/dev/parslet/lib/parslet/atoms/alternative.rb:18
0.00 0.00 0.00 0.00 3/3 Array#inspect
0.00 0.00 0.00 0.00 3/139 Object#initialize
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 3/3 Parslet::Atoms::Alternative#initialize
0.00% 0.00% 0.00 0.00 0.00 0.00 3 Array#inspect (ruby_runtime:0} ruby_runtime:0
0.00 0.00 0.00 0.00 6/17 Parslet::Atoms::Base#inspect
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 9/9 Parslet::Atoms::Base#to_s
0.00% 0.00% 0.00 0.00 0.00 0.00 9 Parslet::Atoms::Named#to_s_inner (/Users/ncr/dev/parslet/lib/parslet/atoms/named.rb:25} /Users/ncr/dev/parslet/lib/parslet/atoms/named.rb:25
0.00 0.00 0.00 0.00 9/33 Symbol#to_s
0.00 0.00 0.00 0.00 9/52 Parslet::Atoms::Base#to_s
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/100 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 100 StringIO#initialize (ruby_runtime:0} ruby_runtime:0
0.00 0.00 0.00 0.00 100/139 Object#initialize
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/100 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 100 Hash#initialize (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/100 Parslet::Atoms::Base#parse
0.00% 0.00% 0.00 0.00 0.00 0.00 100 Parslet::Source#eof? (/Users/ncr/dev/parslet/lib/parslet/source.rb:35} /Users/ncr/dev/parslet/lib/parslet/source.rb:35
0.00 0.00 0.00 0.00 100/25058 Fixnum#>=
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 300/300 Parslet::Source#read_slice
0.00% 0.00% 0.00 0.00 0.00 0.00 300 Array#size (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 300/300 Parslet::Source#read_slice
0.00% 0.00% 0.00 0.00 0.00 0.00 300 Fixnum#> (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 200/200 Parslet::Source#read_from_cache
0.00% 0.00% 0.00 0.00 0.00 0.00 200 StringIO#pos= (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 24/24 Parslet::Atoms::Base#to_s
0.00% 0.00% 0.00 0.00 0.00 0.00 24 Parslet::Atoms::Entity#to_s_inner (/Users/ncr/dev/parslet/lib/parslet/atoms/entity.rb:30} /Users/ncr/dev/parslet/lib/parslet/atoms/entity.rb:30
0.00 0.00 0.00 0.00 24/24 String#upcase
0.00 0.00 0.00 0.00 24/33 Symbol#to_s
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 80/80 Parslet::Atoms::Base#to_s
0.00% 0.00% 0.00 0.00 0.00 0.00 80 Parslet::Atoms::Base#precedence (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:199} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:199
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/118 Parser#var
0.00 0.00 0.00 0.00 1/118 Parser#rparen
0.00 0.00 0.00 0.00 1/118 Parser#lparen
0.00 0.00 0.00 0.00 1/118 Parser#space
0.00 0.00 0.00 0.00 1/118 Parser#and_operator
0.00 0.00 0.00 0.00 1/118 Parser#or_operator
0.00 0.00 0.00 0.00 3/118 Parser#and_operation
0.00 0.00 0.00 0.00 2/118 Parser#primary
0.00 0.00 0.00 0.00 5/118 Parser#space?
0.00 0.00 0.00 0.00 102/118 Parser#or_operation
0.00% 0.00% 0.00 0.00 0.00 0.00 118 Hash#has_key? (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/10 Parser#and_operation
0.00 0.00 0.00 0.00 1/10 Parser#or_operator
0.00 0.00 0.00 0.00 1/10 Parser#or_operation
0.00 0.00 0.00 0.00 1/10 Parser#and_operator
0.00 0.00 0.00 0.00 1/10 Parser#rparen
0.00 0.00 0.00 0.00 1/10 Parser#lparen
0.00 0.00 0.00 0.00 1/10 Parser#var
0.00 0.00 0.00 0.00 1/10 Parser#space
0.00 0.00 0.00 0.00 1/10 Parser#space?
0.00 0.00 0.00 0.00 1/10 Parser#primary
0.00% 0.00% 0.00 0.00 0.00 0.00 10 Kernel#proc (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 3/139 Parslet::Atoms::Alternative#initialize
0.00 0.00 0.00 0.00 4/139 Parslet::Atoms::Str#initialize
0.00 0.00 0.00 0.00 2/139 Class#new
0.00 0.00 0.00 0.00 2/139 Parslet::Atoms::Re#initialize
0.00 0.00 0.00 0.00 3/139 Parslet::Atoms::Repetition#initialize
0.00 0.00 0.00 0.00 8/139 Parslet::Atoms::Sequence#initialize
0.00 0.00 0.00 0.00 7/139 Parslet::Atoms::Named#initialize
0.00 0.00 0.00 0.00 10/139 Parslet::Atoms::Entity#initialize
0.00 0.00 0.00 0.00 100/139 StringIO#initialize
0.00% 0.00% 0.00 0.00 0.00 0.00 139 Object#initialize (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 3/3 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 3 Parslet::Atoms::Repetition#initialize (/Users/ncr/dev/parslet/lib/parslet/atoms/repetition.rb:11} /Users/ncr/dev/parslet/lib/parslet/atoms/repetition.rb:11
0.00 0.00 0.00 0.00 3/17 Parslet::Atoms::Base#inspect
0.00 0.00 0.00 0.00 3/139 Object#initialize
0.00 0.00 0.00 0.00 3/4 Fixnum#to_s
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/100 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 100 <Class::StringIO>#allocate (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2/2 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 2 Parslet::Atoms::DSL#repeat (/Users/ncr/dev/parslet/lib/parslet/atoms/dsl.rb:23} /Users/ncr/dev/parslet/lib/parslet/atoms/dsl.rb:23
0.00 0.00 0.00 0.00 2/27597 Class#new
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 4/4 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Parslet#str (/Users/ncr/dev/parslet/lib/parslet.rb:145} /Users/ncr/dev/parslet/lib/parslet.rb:145
0.00 0.00 0.00 0.00 4/27597 Class#new
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 100/100 Kernel#extend
0.00% 0.00% 0.00 0.00 0.00 0.00 100 Module#extended (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 7/7 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 7 Parslet::Atoms::DSL#as (/Users/ncr/dev/parslet/lib/parslet/atoms/dsl.rb:95} /Users/ncr/dev/parslet/lib/parslet/atoms/dsl.rb:95
0.00 0.00 0.00 0.00 7/27597 Class#new
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2/2 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 2 Parslet::DelayedMatchConstructor#[] (/Users/ncr/dev/parslet/lib/parslet.rb:114} /Users/ncr/dev/parslet/lib/parslet.rb:114
0.00 0.00 0.00 0.00 2/27597 Class#new
0.00 0.00 0.00 0.00 4/11 String#+
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 5/5 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 5 Parser#space? (/Users/ncr/dev/parslet/lib/parslet.rb:98} /Users/ncr/dev/parslet/lib/parslet.rb:98
0.00 0.00 0.00 0.00 1/10 Kernel#proc
0.00 0.00 0.00 0.00 1/27597 Class#new
0.00 0.00 0.00 0.00 5/118 Hash#has_key?
0.00 0.00 0.00 0.00 4/265822 Hash#[]
0.00 0.00 0.00 0.00 1/91926 Hash#[]=
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 10/10 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 10 Parslet::Atoms::Entity#initialize (/Users/ncr/dev/parslet/lib/parslet/atoms/entity.rb:13} /Users/ncr/dev/parslet/lib/parslet/atoms/entity.rb:13
0.00 0.00 0.00 0.00 10/139 Object#initialize
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2/2 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 2 Parslet::Atoms::Re#initialize (/Users/ncr/dev/parslet/lib/parslet/atoms/re.rb:12} /Users/ncr/dev/parslet/lib/parslet/atoms/re.rb:12
0.00 0.00 0.00 0.00 2/139 Object#initialize
0.00 0.00 0.00 0.00 2/5 String#[]
0.00 0.00 0.00 0.00 2/6 String#to_s
0.00 0.00 0.00 0.00 2/9 String#inspect
0.00 0.00 0.00 0.00 2/27597 Class#new
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2/2 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 2 Parser#primary (/Users/ncr/dev/parslet/lib/parslet.rb:98} /Users/ncr/dev/parslet/lib/parslet.rb:98
0.00 0.00 0.00 0.00 1/10 Kernel#proc
0.00 0.00 0.00 0.00 1/27597 Class#new
0.00 0.00 0.00 0.00 2/118 Hash#has_key?
0.00 0.00 0.00 0.00 1/265822 Hash#[]
0.00 0.00 0.00 0.00 1/91926 Hash#[]=
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 4/4 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Parslet::Atoms::Str#initialize (/Users/ncr/dev/parslet/lib/parslet/atoms/str.rb:9} /Users/ncr/dev/parslet/lib/parslet/atoms/str.rb:9
0.00 0.00 0.00 0.00 4/9 String#inspect
0.00 0.00 0.00 0.00 4/6 String#to_s
0.00 0.00 0.00 0.00 4/139 Object#initialize
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 3/3 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 3 Parser#and_operation (/Users/ncr/dev/parslet/lib/parslet.rb:98} /Users/ncr/dev/parslet/lib/parslet.rb:98
0.00 0.00 0.00 0.00 1/27597 Class#new
0.00 0.00 0.00 0.00 1/10 Kernel#proc
0.00 0.00 0.00 0.00 2/265822 Hash#[]
0.00 0.00 0.00 0.00 3/118 Hash#has_key?
0.00 0.00 0.00 0.00 1/91926 Hash#[]=
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 22/22 Parslet::Atoms::Base#to_s
0.00% 0.00% 0.00 0.00 0.00 0.00 22 Parslet::Atoms::Sequence#precedence (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:199} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:199
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 9/33 Parslet::Atoms::Named#to_s_inner
0.00 0.00 0.00 0.00 24/33 Parslet::Atoms::Entity#to_s_inner
0.00% 0.00% 0.00 0.00 0.00 0.00 33 Symbol#to_s (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/1 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Parslet::Atoms::DSL#maybe (/Users/ncr/dev/parslet/lib/parslet/atoms/dsl.rb:34} /Users/ncr/dev/parslet/lib/parslet/atoms/dsl.rb:34
0.00 0.00 0.00 0.00 1/27597 Class#new
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 24/24 Parslet::Atoms::Entity#to_s_inner
0.00% 0.00% 0.00 0.00 0.00 0.00 24 String#upcase (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/1 Parslet::Atoms::Base#to_s
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Parslet::Atoms::Repetition#to_s_inner (/Users/ncr/dev/parslet/lib/parslet/atoms/repetition.rb:45} /Users/ncr/dev/parslet/lib/parslet/atoms/repetition.rb:45
0.00 0.00 0.00 0.00 1/1 NilClass#to_s
0.00 0.00 0.00 0.00 1/11 String#+
0.00 0.00 0.00 0.00 1/7839 Fixnum#==
0.00 0.00 0.00 0.00 1/4 Fixnum#to_s
0.00 0.00 0.00 0.00 1/52 Parslet::Atoms::Base#to_s
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/1 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Parser#var (/Users/ncr/dev/parslet/lib/parslet.rb:98} /Users/ncr/dev/parslet/lib/parslet.rb:98
0.00 0.00 0.00 0.00 1/10 Kernel#proc
0.00 0.00 0.00 0.00 1/27597 Class#new
0.00 0.00 0.00 0.00 1/118 Hash#has_key?
0.00 0.00 0.00 0.00 1/91926 Hash#[]=
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/1 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Parser#space (/Users/ncr/dev/parslet/lib/parslet.rb:98} /Users/ncr/dev/parslet/lib/parslet.rb:98
0.00 0.00 0.00 0.00 1/10 Kernel#proc
0.00 0.00 0.00 0.00 1/27597 Class#new
0.00 0.00 0.00 0.00 1/118 Hash#has_key?
0.00 0.00 0.00 0.00 1/91926 Hash#[]=
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/1 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Parser#and_operator (/Users/ncr/dev/parslet/lib/parslet.rb:98} /Users/ncr/dev/parslet/lib/parslet.rb:98
0.00 0.00 0.00 0.00 1/10 Kernel#proc
0.00 0.00 0.00 0.00 1/27597 Class#new
0.00 0.00 0.00 0.00 1/118 Hash#has_key?
0.00 0.00 0.00 0.00 1/91926 Hash#[]=
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/1 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Parser#lparen (/Users/ncr/dev/parslet/lib/parslet.rb:98} /Users/ncr/dev/parslet/lib/parslet.rb:98
0.00 0.00 0.00 0.00 1/10 Kernel#proc
0.00 0.00 0.00 0.00 1/27597 Class#new
0.00 0.00 0.00 0.00 1/118 Hash#has_key?
0.00 0.00 0.00 0.00 1/91926 Hash#[]=
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/1 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Parser#rparen (/Users/ncr/dev/parslet/lib/parslet.rb:98} /Users/ncr/dev/parslet/lib/parslet.rb:98
0.00 0.00 0.00 0.00 1/10 Kernel#proc
0.00 0.00 0.00 0.00 1/27597 Class#new
0.00 0.00 0.00 0.00 1/118 Hash#has_key?
0.00 0.00 0.00 0.00 1/91926 Hash#[]=
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/1 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 1 Parser#or_operator (/Users/ncr/dev/parslet/lib/parslet.rb:98} /Users/ncr/dev/parslet/lib/parslet.rb:98
0.00 0.00 0.00 0.00 1/27597 Class#new
0.00 0.00 0.00 0.00 1/10 Kernel#proc
0.00 0.00 0.00 0.00 1/118 Hash#has_key?
0.00 0.00 0.00 0.00 1/91926 Hash#[]=
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 7/7 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 7 Parslet::Atoms::Named#initialize (/Users/ncr/dev/parslet/lib/parslet/atoms/named.rb:10} /Users/ncr/dev/parslet/lib/parslet/atoms/named.rb:10
0.00 0.00 0.00 0.00 7/139 Object#initialize
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 10/10 Parslet::Atoms::Entity#parslet
0.00% 0.00% 0.00 0.00 0.00 0.00 10 Kernel#tap (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 11/11 Parslet::Atoms::Sequence#to_s_inner
0.00% 0.00% 0.00 0.00 0.00 0.00 11 Array#join (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 3/3 Parslet::Atoms::Base#to_s
0.00% 0.00% 0.00 0.00 0.00 0.00 3 Parslet::Atoms::Re#to_s_inner (/Users/ncr/dev/parslet/lib/parslet/atoms/re.rb:33} /Users/ncr/dev/parslet/lib/parslet/atoms/re.rb:33
0.00 0.00 0.00 0.00 3/9 String#inspect
0.00 0.00 0.00 0.00 3/5 String#[]
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2/2 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 2 Parslet#match (/Users/ncr/dev/parslet/lib/parslet.rb:132} /Users/ncr/dev/parslet/lib/parslet.rb:132
0.00 0.00 0.00 0.00 2/27597 Class#new
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2/9 Parslet::Atoms::Re#initialize
0.00 0.00 0.00 0.00 3/9 Parslet::Atoms::Re#to_s_inner
0.00 0.00 0.00 0.00 4/9 Parslet::Atoms::Str#initialize
0.00% 0.00% 0.00 0.00 0.00 0.00 9 String#inspect (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 3/3 Kernel#instance_eval
0.00% 0.00% 0.00 0.00 0.00 0.00 3 Parslet::Atoms::Sequence#>> (/Users/ncr/dev/parslet/lib/parslet/atoms/sequence.rb:18} /Users/ncr/dev/parslet/lib/parslet/atoms/sequence.rb:18
0.00 0.00 0.00 0.00 3/10461 Array#<<
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/11 Parslet::Atoms::Repetition#to_s_inner
0.00 0.00 0.00 0.00 4/11 Parslet::DelayedMatchConstructor#[]
0.00 0.00 0.00 0.00 6/11 Parslet::Atoms::Base#to_s
0.00% 0.00% 0.00 0.00 0.00 0.00 11 String#+ (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 4/4 Parslet::Atoms::Base#to_s
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Parslet::Atoms::Str#to_s_inner (/Users/ncr/dev/parslet/lib/parslet/atoms/str.rb:35} /Users/ncr/dev/parslet/lib/parslet/atoms/str.rb:35
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2/6 Parslet::Atoms::Re#initialize
0.00 0.00 0.00 0.00 4/6 Parslet::Atoms::Str#initialize
0.00% 0.00% 0.00 0.00 0.00 0.00 6 String#to_s (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2/5 Parslet::Atoms::Re#initialize
0.00 0.00 0.00 0.00 3/5 Parslet::Atoms::Re#to_s_inner
0.00% 0.00% 0.00 0.00 0.00 0.00 5 String#[] (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2/2 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 2 Regexp#initialize (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/4 Parslet::Atoms::Repetition#to_s_inner
0.00 0.00 0.00 0.00 3/4 Parslet::Atoms::Repetition#initialize
0.00% 0.00% 0.00 0.00 0.00 0.00 4 Fixnum#to_s (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2/2 Parslet::Atoms::Base#to_s
0.00% 0.00% 0.00 0.00 0.00 0.00 2 Parslet::Atoms::Repetition#precedence (/Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:199} /Users/ncr/dev/parslet/lib/parslet/atoms/base.rb:199
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 2/2 Class#new
0.00% 0.00% 0.00 0.00 0.00 0.00 2 <Class::Regexp>#allocate (ruby_runtime:0} ruby_runtime:0
--------------------------------------------------------------------------------
0.00 0.00 0.00 0.00 1/1 Parslet::Atoms::Repetition#to_s_inner
0.00% 0.00% 0.00 0.00 0.00 0.00 1 NilClass#to_s (ruby_runtime:0} ruby_runtime:0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment