DEV Community

Cover image for How to choose a language on Google App Engine if performance matters
Thomas Cross
Thomas Cross

Posted on • Updated on

How to choose a language on Google App Engine if performance matters

So you may know one programming language really well, you are a polyglot, or you may be learning your first right now. Kudos to you no matter which camp you are in!

This post is going to focus on app engine standard second generation in particular, and the languages I would personally consider for my projects. There are a few more that I could add to this post, just comment on this and let me know if that interests you and I can add them - more on that later.

These graphs are centered around Django 3 - this framework is very popular but it may not be the best framework for you if performance is a priority.

build-start-request-times

  • build time - the time it takes to build a docker image with cloud build.
  • start up time - the time it takes for a server to start and accept requests.
  • request time - the time it takes for the framework to respond to a "hello world" request.

Request time is important because you can kind of place a constant K value on the time it takes to process a request; possibly even apply some time factor to every request. Start up time is important because it is the time a client will have to wait if there is no server available to process the request. For this reason, if your app has a large influx of traffic, I suggest choosing a framework with low start up times. Build time is more of an awareness statistic - a nice to know. CI/CD processes become concerned with this, but unit and integration tests and other processes tend to take longer than build time.

Here is the data shown without build time as a consideration
build-start-request-times
This graph makes it pretty easy to pick a framework because you can weigh the relative start and request times. I wish there was something Google could do for Java/Spring, that start up time inhibits scaling abilities quite a bit.

I am curious how Laravel and Express fit in. Let me know if you are as well and I will update this blog with those added to the charts!

Top comments (0)