One thing I noticed about Go apps is that they can spin up a new instance 
incredibly quickly.

For me, its like 50-100 ms to spin up a new instance. Probably because its 
just the time to copy the binary across the network and run it, as opposed 
to spinning up a JVM.

Now, one thing to note is that external file accesses (reading template 
files etc) is strangely expensive. Unlike the sub millisecond time I get on 
a local machine, it'll be more like 70 ms in production. I suspect that 
youre not really in a local filesystem, but a FUSE-like filesystem where 
local file accesses are network operations the first time and are cached 
after that. So I suggest keeping your templates for dev on the local 
filesystem, then minify them, and put them in code, instantiating the 
template from a string literal. This gives me ease of development, and 
excellent performance using templates. Also, I suggest parsing templates on 
first use, not at startup.

As for concurrent requests, it doesn't have them yet. Hopefully, it will be 
out soon, near the python concurrency update.

I could never get Java starting up in faster than 2 seconds, so 50 ms as a 
new low time point is pretty amazing for me. It gives a lot more flexibility 
playing with Max-Pending-Latency because I know starting up instances wont 
take that long.

Sanjay

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/c_jvZfVchdMJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to