使用した関数:
QueryPerformanceCounter:カウンタの取得
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpwinui/html/_win32_queryperformancecounter.asp
QueryPerformanceFrequency:カウンタの周波数の取得
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpwinui/html/_win32_queryperformancefrequency.asp
# ---------------------------------
# QueryPerformanceCounterのサンプル
# ---------------------------------
require 'Win32API'
# 関数からオブジェクトを作成する
qpc = Win32API.new('kernel32.dll','QueryPerformanceCounter','p','i')
qpf = Win32API.new('kernel32.dll','QueryPerformanceFrequency','p','i')
# LARGE_INTEGER(64bit)の領域を用意する
count = [0].pack('Q')
freq = [0].pack('Q')
# 周波数の取得
qpf.call(freq)
# カウンタの取得
qpc.call(count)
# 返された値を、数値型に変換する
count_val = count.unpack('Q')[0]
freq_val = freq.unpack('Q')[0]
# 値の表示
puts Float(count_val)/freq_val