openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michele Sciabarra <>
Subject I created a variant of the go runtime that is faster at init time
Date Tue, 11 Dec 2018 12:23:14 GMT
Hello all,

I was concerned about the fact that the Go runtime is a bit slow at init time. As I suspected,
the problem is in the size of the executable, that is almost 2Mb. This is structural for Go
since it compiles statically.

Then I created a variant of the go runtime, using GccGo.  GccGo is a Go compiler, updated
to Go version 1.10, that compiles using the Gcc compiler infrastructure. As a result, it produces
dynamically linked executables that are smaller than the binaries produced by the standard
Go compiler.

You can see the results in the updated benchmark. The new runtime is actionloop-gccgo-v8

GccGo is a bit slower than Go (but it is still the second faster runtime) but it is now the
faster at init time because the executable is around 50k (and zipped it is only 17k).

I am unsure if replace GccGo in the official runtime or provide both. The fact that the executable
is small so it leads to faster init time I think it is important, but the  GccGo compiler
it is a bit behind in term of language support.

  Michele Sciabarra

View raw message