local function spawnNow(callback, ...) local bindable = Instance.new("BindableEvent") bindable.Event:Connect(callback) bindable:Fire(...) bindable:Destroy() end local function f() end local t1 = tick() for _ = 1, 10000 do spawnNow(f, 123) end print("fast spawn", tick()-t1) local t2 = tick() for iteration = 1, 10000 do coroutine.wrap(f)(123) end print("coroutine wrap", tick()-t2)