# How many wait() in a wait(1)?

60?
100?
Anyone have an exact number?

2 Likes

SOLVED

I realised I could just write something up really quick to find the number

``````
val = 0

spawn(function()

while wait() do

val = val + 1

end

end)

wait(1)

print(val)

``````

The answer is about 30 by the way, in case anyone is interested.

Not always 30 though due to lag and what not.

8 Likes

Got:

``````print(1/wait()) --> 29.020866914293
``````

Expected:

``````print(1/(settings().Lua.DefaultWaitTime)) --> 33.333333333333
``````

Due to the way robloxâ€™s scheduler works, you may not always resume in the moment you expect.

4 Likes

Not roughly 30, wait() fits between 0 and 30 times inside wait(1), the exact amount of times is undefined. It is not guaranteed for wait() to resume at the moment that you expect. If you are planning on using this in a loop with wait(), consider keeping track of when you started and then wait until that time has passed, like so:

``````local start = tick()
while tick() - start < duration do
local t = (tick() - start) / duration -- value between 0 and 1
wait() -- or for tighter loop: Heartbeat:Wait(), or RenderStepped:Wait(), or Stepped:Wait()
end
``````

This will ensure you always loop for a certain amount of time and will allow you to do an operation at each time interval too. This is much better than simply `for i = 1, 30 do ... wait() end` because this will not be guaranteed to be 1 second of total time.

8 Likes

Realistically, Iâ€™m surprised Roblox has a yielding function at all. I mean, from what Iâ€™m aware of, in pretty much every other language or game engine out there, there isnâ€™t even something like that. I could be wrong, itâ€™s interesting.

3 Likes

Pretty sure UE4 has a Delay function that does the exact same thing.

4 Likes

many languages have a sleep function, such as pythonâ€™s in time:

``````import time

time.sleep(2) # sleeps for 2 seconds
``````
2 Likes

oof. I completely forgot itâ€™s referred to as â€śsleepâ€ť in most cases, and considering the fact I actually did Python quite a bit in the past, totally forgot about that. xd

But cool stuff.

1 Like

Adding my quick two cents here.
If you go into Studio in settings under Lua the DefaultWaitTime is listed there. By default rounded it is 0.03. Which is equal to 33 times per second.
So if you havenâ€™t changed that setting it is roughly 33 wait()'s in a wait(1)

3 Likes