// WA_MACRO1.04 が必要
// GETADDR がはやい！
#include "llmod.as"
#include "wam/WinAPI.as"
#module "my_getptr"
#deffunc my_getptr val, val
    mref v, 16
    mref p, 1
    v = p
return
#global

// 繰り返す数
n = 500000

// getptr
timeGetTime : start = DLLRET
repeat n
    getptr p, a
loop
timeGetTime : count = DLLRET - start
mes "getptr : " + count

// my_getptr
timeGetTime : start = DLLRET
repeat n
    my_getptr p, a
loop
timeGetTime : count = DLLRET - start
mes "my_getptr : " + count

// ll_getptr
timeGetTime : start = DLLRET
repeat n
    ll_getptr a
    ll_ret p
loop
timeGetTime : count = DLLRET - start
mes "ll_getptr : " + count

// GETADDR
timeGetTime : start = DLLRET
repeat n
    GETADDR p, a
loop
timeGetTime : count = DLLRET - start
mes "GETADDR : " + count

stop