I found usually they'd be on the order of a few hundred milliseconds. They tend to be quicker if you have more memory allocated to your function (because the additional CPU power helps).
I've mostly found that my cold starts were slow enough to look bad in the metrics, but fast enough (and rare enough) that the impact on user experience wasn't actually that noticeable. Given the other benefits I was getting from Lambda (like the easy scaling and low maintenance), it was worth the occasional small blip in latency.
And for functions that aren't directly user facing -- like processing items from a queue -- I've not found it to be an issue at all.
Of course every use case is different though, and some apps can tolerate this more than others.
I've mostly found that my cold starts were slow enough to look bad in the metrics, but fast enough (and rare enough) that the impact on user experience wasn't actually that noticeable. Given the other benefits I was getting from Lambda (like the easy scaling and low maintenance), it was worth the occasional small blip in latency.
And for functions that aren't directly user facing -- like processing items from a queue -- I've not found it to be an issue at all.
Of course every use case is different though, and some apps can tolerate this more than others.