Fix for JRUBY-2882. Handle error messages related to constructors better
[jruby.git] / bench / ffi / bench_getlogin.rb
blobde71802126e44663e4b5de67ffde4cd68e3a43fb
1 require 'benchmark'
2 require 'ffi'
3 require 'etc'
5 iter = 10000
7 module Posix
8   extend FFI::Library
9   attach_function :getlogin, [], :string
10 end
11 if Posix.getlogin != Etc.getlogin
12   raise ArgumentError, "FFI getlogin returned incorrect value"
13 end
15 puts "Benchmark FFI getlogin(2) performance, #{iter}x"
17 10.times {
18   puts Benchmark.measure {
19     iter.times { Posix.getlogin }
20   }
23 puts "Benchmark Etc.getlogin performance, #{iter}x"
24 10.times {
25   puts Benchmark.measure {
26     iter.times { Etc.getlogin }
27   }