summaryrefslogtreecommitdiff
path: root/benchmark/vm2_case_lit.yml
blob: c49b8dfe5ee484aa06335b44a84b1720080880a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# loop_count is not utilized since `i` is involved in the script
benchmark:
  vm2_case_lit: |
    i = 0
    @ret = [ "foo", true, false, :sym, 6, nil, 0.1, 0xffffffffffffffff ]
    def foo(i)
      @ret[i % @ret.size]
    end

    while i<6_000_000
      case foo(i)
      when "foo" then :foo
      when true then true
      when false then false
      when :sym then :sym
      when 6 then :fix
      when nil then nil
      when 0.1 then :float
      when 0xffffffffffffffff then :big
      end
      i += 1
    end
loop_count: 1