Just thinking out loud in general about global variables, and without regard to hardware timed loops. Remember that LV global variables are backed by a file. Won't every write and read operation of a global then result in a blocking OS call to write/read that file? This would make every global read highly non-deterministic, and so could explain why one read operation might be slower than another. Yes, the OS and disk itself are likely caching that data; but this is irrelevant because the OS call itself will still block, and will therefore still be very non-deterministic whether the data is retrieved from cache or a true disk read must take place.
Ben's Action Engine solved this for reads, because the global variable is now cached in a LV Shift Register, guaranteeing that no OS call will be needed to access the value. WRITING to the global, however, even if within the Action Engine, would still require an OS call.
Does this make sense, or am I just rambling nonsense?
~Tim