diff options
Diffstat (limited to 'benchmark/vm3_backtrace.rb')
-rw-r--r-- | benchmark/vm3_backtrace.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/benchmark/vm3_backtrace.rb b/benchmark/vm3_backtrace.rb new file mode 100644 index 0000000000..0fbf73e1ca --- /dev/null +++ b/benchmark/vm3_backtrace.rb @@ -0,0 +1,22 @@ +# get last 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 |