3 ms·
> However, since we're using go and the datastore, all that work can be done in parallel, so it's not too slow. I thought we couldn't run routines in parellel
by Arnor 13y ago
> However, since we're using go and the datastore, all that work can be done in parallel, so it's not too slow.
I thought we couldn't run routines in parellel yet. Per:
'The Go runtime environment for App Engine provides full support for goroutines, but not for parallel execution: goroutines are scheduled onto a single operating system thread. This single-thread restriction may be lifted in future versions. Multiple requests may be handled concurrently by a given instance.' [1]
[1] https://developers.google.com/appengine/docs/go/ https://developers.google.com/appengine/docs/go/
- mjibson 13y agoThat description is misleading. All it means is that one go routine is executing at the same time between all requests. Up to 10 requests can be processing on any go instance. However, most of the time the go routines are just waiting for data to come back. Hence, we can fire up a bunch of go routines to do some work. It's the parallel vs concurrent stuff that Rob Pike has spoke about before. go app engine isn't parallel, but it is concurrent.