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) --> 0.089616775512695
local t2 = tick()
for iteration = 1, 10000 do
coroutine.wrap(f)(123)
end
print("coroutine wrap", tick()-t2) --> 0.023818254470825