I currently only know of two ways, a third I'm unfamiliar with which I'm not sure would work. What's the most efficient way of repeating something over again, for example let's say you have a repeating game that has to call on a function/s that set up the game for people play. Is there another way that I've yet to find, (likely).
One:
while true do
--code
wait(--[[whatever time is set]])
end
Second:
--Currently using this below, over the while true do ... end
function a()
wait(1)
a()
end
Third: I'm not very familiar with these but coroutine's are these a viable way of setting a loop or something that must be called again and again?

3 comments
Try repeat and until
Oh, I knew that one too, I was just wondering, is there another way besides the ones I mentioned, I'd prefer to not use those because I feel they are inefficient and cause more lag.
Lag isn't caused by the loop -- it's what you put inside the loop. If you can get away with a higher wait time than wait(0), that will also help.