summaryrefslogtreecommitdiff
path: root/benchmark/vm3_backtrace.yml
blob: 58df4bc191ad17e7029ce47b1bb830fba6c1ca32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
prelude: |
  # get last backtrace
benchmark:
  vm3_backtrace: |

    begin
      caller(0, 0)
    rescue ArgumentError
      alias caller_orig caller
      def caller lev, n
        caller_orig(lev)[0..n]
      end
    end

    def rec n
      if n < 0
        100_000.times{
          caller(0, 1)
        }
      else
        rec(n-1)
      end
    end

    rec 50
loop_count: 1