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
|
require_relative 'bench_helper'
module BenchGetpid
iter = ITER
module Posix
extend FFI::Library
ffi_lib 'c'
if FFI::Platform.windows?
attach_function :getpid, :_getpid, [], :uint, :save_errno => false
else
attach_function :getpid, [], :uint, :save_errno => false
end
end
puts "pid=#{Process.pid} Foo.getpid=#{Posix.getpid}"
puts "Benchmark FFI getpid performance, #{iter}x calls"
10.times {
puts Benchmark.measure {
i = 0; while i < iter
Posix.getpid
i += 1
end
}
}
puts "Benchmark Process.pid performance, #{iter}x calls"
10.times {
puts Benchmark.measure {
i = 0; while i < iter
Process.pid
i += 1
end
}
}
end
|