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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
require 'perfer'
Perfer.session 'Java array operations' do |s|
s.iterate("access ruby array") do |n|
a = [1,2,3]
n.times do
a[0]; a[0]; a[0]; a[0]; a[0]
a[0]; a[0]; a[0]; a[0]; a[0]
end
end
s.iterate("access java array") do |n|
a = [1,2,3].to_java :int
n.times do
a[0]; a[0]; a[0]; a[0]; a[0]
a[0]; a[0]; a[0]; a[0]; a[0]
end
end
s.iterate("construct ruby array") do |n|
n.times do
a = []; a = []; a = []; a = []; a = []
a = []; a = []; a = []; a = []; a = []
end
end
s.iterate("construct java array slow") do |n|
int = Java::int
n.times do
int[0].new; int[0].new; int[0].new; int[0].new
int[0].new; int[0].new; int[0].new; int[0].new
end
end
s.iterate("construct java array medium") do |n|
int_ary = Java::int[0]
n.times do
int_ary.new; int_ary.new; int_ary.new; int_ary.new
int_ary.new; int_ary.new; int_ary.new; int_ary.new
end
end
if Java::int.respond_to? :new_array
s.iterate("construct java array new_array") do |n|
int_ary = Java::int[0]
n.times do
int_ary.new; int_ary.new; int_ary.new; int_ary.new
int_ary.new; int_ary.new; int_ary.new; int_ary.new
end
end
end
end
|