summaryrefslogtreecommitdiff
path: root/benchmark/mjit_int_zero_p.yml
blob: 91e8ea0102b697e066a7f819a4920443b92c6038 (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
27
28
29
30
31
32
33
34
35
36
prelude: |
  def mjit_zero?(int)
    int.zero?
  end

  def mjit_eq_0(int)
    int == 0
  end

  def warmup(sym, int)
    if defined?(RubyVM::MJIT) && RubyVM::MJIT.enabled?
      jit_min_calls = 10000
      i = 0
      while i < jit_min_calls
        send(sym, int)
        i += 1
      end
      RubyVM::MJIT.pause
    end
  end

benchmark:
  - name: 0.zero?
    prelude: warmup(:mjit_zero?, 0)
    script: mjit_zero?(0)
  - name: 1.zero?
    prelude: warmup(:mjit_zero?, 1)
    script: mjit_zero?(1)
  - name: 0 == 0
    prelude: warmup(:mjit_eq_0, 0)
    script: mjit_eq_0(0)
  - name: 1 == 0
    prelude: warmup(:mjit_eq_0, 1)
    script: mjit_eq_0(1)

loop_count: 40000000