1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Reduce ISeq size of mjit_exec benchmark

to avoid unwanted memory pressure
This commit is contained in:
Takashi Kokubun 2019-09-26 22:13:24 +09:00
parent 1070456bb8
commit 41e3c204fd
No known key found for this signature in database
GPG key ID: 6FFC433B12EE23DD
4 changed files with 15 additions and 22 deletions

View file

@ -140,13 +140,13 @@ class BenchmarkDriver::Runner::MjitExec
def vm def vm
t = Process.clock_gettime(Process::CLOCK_MONOTONIC) t = Process.clock_gettime(Process::CLOCK_MONOTONIC)
i = 0 i = 0
while i < 10000 while i < <%= loop_count / 1000 %>
% (loop_count / 10000).times do |i| % 1000.times do |i|
a<%= i % num_methods %> a<%= i % num_methods %>
% end % end
i += 1 i += 1
end end
% (loop_count % 10000).times do |i| % (loop_count % 1000).times do |i|
a<%= i % num_methods %> a<%= i % num_methods %>
% end % end
Process.clock_gettime(Process::CLOCK_MONOTONIC) - t Process.clock_gettime(Process::CLOCK_MONOTONIC) - t
@ -177,13 +177,13 @@ class BenchmarkDriver::Runner::MjitExec
def vm def vm
t = Process.clock_gettime(Process::CLOCK_MONOTONIC) t = Process.clock_gettime(Process::CLOCK_MONOTONIC)
i = 0 i = 0
while i < 10000 while i < <%= loop_count / 1000 %>
% (loop_count / 10000).times do |i| % 1000.times do |i|
a<%= i % num_methods %> a<%= i % num_methods %>
% end % end
i += 1 i += 1
end end
% (loop_count % 10000).times do |i| % (loop_count % 1000).times do |i|
a<%= i % num_methods %> a<%= i % num_methods %>
% end % end
Process.clock_gettime(Process::CLOCK_MONOTONIC) - t Process.clock_gettime(Process::CLOCK_MONOTONIC) - t
@ -214,13 +214,13 @@ class BenchmarkDriver::Runner::MjitExec
def jit def jit
t = Process.clock_gettime(Process::CLOCK_MONOTONIC) t = Process.clock_gettime(Process::CLOCK_MONOTONIC)
i = 0 i = 0
while i < 10000 while i < <%= loop_count / 1000 %>
% (loop_count / 10000).times do |i| % 1000.times do |i|
a<%= i % num_methods %> a<%= i % num_methods %>
% end % end
i += 1 i += 1
end end
% (loop_count % 10000).times do |i| % (loop_count % 1000).times do |i|
a<%= i % num_methods %> a<%= i % num_methods %>
% end % end
Process.clock_gettime(Process::CLOCK_MONOTONIC) - t Process.clock_gettime(Process::CLOCK_MONOTONIC) - t

View file

@ -2,10 +2,7 @@
# RUBYOPT=-Ibenchmark/lib benchmark-driver -e 'ruby --jit' benchmark/mjit_exec_vm2jt.yml # RUBYOPT=-Ibenchmark/lib benchmark-driver -e 'ruby --jit' benchmark/mjit_exec_vm2jt.yml
type: mjit_exec # benchmark/lib/benchmark_driver/runner/mjit_exec.rb type: mjit_exec # benchmark/lib/benchmark_driver/runner/mjit_exec.rb
num_methods: [1] num_methods: [1]
#num_methods: [1, 10, 20, 30, 40, 50, 100, 200, 500, 1000] #num_methods: (1..100).to_a + [200, 300, 400, 500, 600, 700, 800, 900, 1000]
#num_methods: [1, 1000] loop_count: 50000000
#num_methods: (1..100)
#num_methods: (1..10).map { |i| i * 10 }
loop_count: 10000000
from_jit: true from_jit: true
to_jit: true to_jit: true

View file

@ -2,9 +2,7 @@
# RUBYOPT=-Ibenchmark/lib benchmark-driver -e 'ruby --jit' benchmark/mjit_exec_vm2jt.yml # RUBYOPT=-Ibenchmark/lib benchmark-driver -e 'ruby --jit' benchmark/mjit_exec_vm2jt.yml
type: mjit_exec # benchmark/lib/benchmark_driver/runner/mjit_exec.rb type: mjit_exec # benchmark/lib/benchmark_driver/runner/mjit_exec.rb
num_methods: [1] num_methods: [1]
#num_methods: [1, 10, 20, 30, 40, 50, 100, 200, 500, 1000] #num_methods: (1..100).to_a + [200, 300, 400, 500, 600, 700, 800, 900, 1000]
#num_methods: (1..100) loop_count: 50000000
#num_methods: (1..10).map { |i| i * 10 }
loop_count: 10000000
from_jit: false from_jit: false
to_jit: true to_jit: true

View file

@ -2,9 +2,7 @@
# RUBYOPT=-Ibenchmark/lib benchmark-driver -e 'ruby --jit' benchmark/mjit_exec_vm2vm.yml # RUBYOPT=-Ibenchmark/lib benchmark-driver -e 'ruby --jit' benchmark/mjit_exec_vm2vm.yml
type: mjit_exec # benchmark/lib/benchmark_driver/runner/mjit_exec.rb type: mjit_exec # benchmark/lib/benchmark_driver/runner/mjit_exec.rb
num_methods: [1] num_methods: [1]
#num_methods: [1, 10, 20, 30, 40, 50, 100, 200, 500, 1000] #num_methods: (1..100).to_a + [200, 300, 400, 500, 600, 700, 800, 900, 1000]
#num_methods: (1..100) loop_count: 50000000
#num_methods: (1..10).map { |i| i * 10 }
loop_count: 10000000
from_jit: false from_jit: false
to_jit: false to_jit: false