openwhisk-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carlos Santana <csantan...@gmail.com>
Subject Re: Submitted PR for performance boost of the Go Runtime
Date Wed, 28 Nov 2018 14:20:21 GMT
Thanks Michele for looking into this

The numbers look great !

I will review the PR soon

-- Carlos

On Wed, Nov 28, 2018 at 5:25 AM Michele Sciabarra <michele@sciabarra.com>
wrote:

> Hello all,
>
> after the first embarrassing numbers of the Golang runtime that made me
> hurry to fix performances :)), here I provide the updated numbers of
> action-loop based runtimes compared with the current ones. Those numbers
> can vary slightly from one run to another (for example I discovered it
> depends how charged is your Mac) but generally are proportional when
> running in the same environment.
>
> I just run the benchmarks, and I have:
>
> Performance report
> *** actionloop-golang-v1.11 (improved)
> Requests/sec:   1086.67
> Transfer/sec:    154.93KB
> *** nodejs6action
> Requests/sec:   1006.41
> Transfer/sec:    225.07KB
> *** actionloop-nodejs6action
> Requests/sec:   1230.92
> Transfer/sec:    157.09KB
> *** python3action
> Requests/sec:     20.05
> Transfer/sec:      2.62KB
> *** actionloop-python
> Requests/sec:   1066.84
> Transfer/sec:    139.61KB
>
> Note the actionloop runtimes are really prototypes, I have not run any
> test suite against them.
>
> --
>   Michele Sciabarra
>   michele@sciabarra.com
>
> ----- Original message -----
> From: Michele Sciabarra <michele@sciabarra.com>
> To: dev@openwhisk.apache.org
> Subject: Submitted PR for performance boost of the Go Runtime
> Date: Tue, 27 Nov 2018 23:38:11 +0100
>
> I just submitted a PR to improve performances of the Go/ActionLoop runtime
> while being the less invasive possible.
>
> I am keeping the current design and I have not changed approach: there is
> still child process fed by the HTTP server on standard input with output on
> file descriptor 3. I am still using the standard http server (not the fast
> HTTP server).
> On the converse, I removed all the goroutines. They do not play well with
> external processes. Instead, I am using the classical technique of
> suspending on reading the standard input is fast to commute to the child
> process/
>
> I reached in my tests around 1150 requests/second (a bit worse than the
> nodejs but I think decent).
> It is possible to further improve performances up to 1500 but I  need to
> abandon the actionloop model and run an action with an independent server,
> so for now I am not doing anything like this,
>
> --
>   Michele Sciabarra
>   michele@sciabarra.com
>


-- 
Carlos Santana
<csantana23@gmail.com>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message