diff options
Diffstat (limited to 'jni/ruby/benchmark/bm_vm3_backtrace.rb')
-rw-r--r-- | jni/ruby/benchmark/bm_vm3_backtrace.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/jni/ruby/benchmark/bm_vm3_backtrace.rb b/jni/ruby/benchmark/bm_vm3_backtrace.rb new file mode 100644 index 0000000..0fbf73e --- /dev/null +++ b/jni/ruby/benchmark/bm_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 |