diff options
Diffstat (limited to 'test/racc/bench.y')
-rw-r--r-- | test/racc/bench.y | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/racc/bench.y b/test/racc/bench.y new file mode 100644 index 0000000000..c6ba136201 --- /dev/null +++ b/test/racc/bench.y @@ -0,0 +1,36 @@ +class BenchmarkParser + +rule + + target: a a a a a a a a a a; + a: b b b b b b b b b b; + b: c c c c c c c c c c; + c: d d d d d d d d d d; + d: e e e e e e e e e e; + +end + +---- inner + +def initialize + @old = [ :e, 'e' ] + @i = 0 +end + +def next_token + return [false, '$'] if @i >= 10_0000 + @i += 1 + @old +end + +def parse + do_parse +end + +---- footer + +require 'benchmark' + +Benchmark.bm do |x| + x.report { BenchmarkParser.new.parse } +end |