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 https://sciabarracom.github.io/incubator-openwhisk-runtime-actionloop/ 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 mich...@sciabarra.com