Wait has a minimum time of 0.03 seconds, so any value below that just acts the same as 0.03. As for why itβs slow, wonβt really know unless you provide more information which is critically missing from this thread. For example, what does your object hierarchy look like? What script type are you using?
wait(0.001) isnβt going to wait 1ms. As has already been pointed out above, the minimum wait time for basic wait() is around 30ms (2 frames). Using RunService.RenderStepped:Wait() should be about twice as fast (60 chars per second). The only way to have it display faster than 60 cps is to add multiple characters per frame.
local RunService = game:GetService("RunService")
...
RunService.RenderStepped:Wait()