SYNOPSIS
val = os.ticks()
DESCRIPTION
The system provides a timer that counts up monotonically at 1000Hz.
RETURN VALUE
The current value of the ticks timer as an unsigned 32-bit value.
NOTES
Since a 32-bit value might run over after some time, care is needed when checking for an elapsed time.
EXAMPLE
Determine how long some code runs:
>
>
>
t0 = os.ticks()
someExpensiveFunction()
print(string.format("Running took %dms", os.ticks() - t0))
Since a 32-bit value might run over after some time, care is needed when checking for an elapsed time.
Good code, by using a subtraction, any roll over will cancel itself:
Good >
>
>
t0 = os.ticks()
someExpensiveFunction()
if (os.ticks() - t0 > 1000) then print("Took more than one second") end
The following code will fail if the ticks counter runs over between the two calls:
Bad >
>
>
t0 = os.ticks()
someExpensiveFunction()
if (os.ticks() > t0 + 1000) then print("Took more than one second") end