As the name indicates, it’s user processor time. Not real time. The use case is pretty narrow and absolutely not ever to be used for general timers. You could just use Time.time, but note code like you posted will stop working after a few days due to single-precision floating point limitations. Better to have a timer that starts at 0.0, counts up to 5.0, then resets. (Typically code wouldn’t run for days, but why have potential bugs when it’s just as easy to avoid them.)