This seems odd to me. The code for the first one looks like this:
res = gettimeofday()
st = systime()
printf "gettimeofday - systime = %d\n", res-st
The effect of "%d" should be to round down positive values and round up
negative ones. I'm jet-lagged so probably not thinking clearly, but I'm not
seeing how this can give a result of 1. The awk gettimeofday() call should
simply map to the gettimeofday() system call, and systime() maps to time().
Do you understand how we're getting a result of 1? What type of system
is this? I'd find -1 more plausible on some insanely sluggish VM.