Actually.... I was looking into websockets too. I found this project: 
http://websocketd.com/ that works basically like the actionloop... I want to 
experiment to see if a runtime can be extended to run also websockets...

-- 
  Michele Sciabarra
  [email protected]

----- Original message -----
From: Rodric Rabbah <[email protected]>
To: [email protected]
Subject: Re: Submitted PR for performance boost of the Go Runtime
Date: Thu, 29 Nov 2018 13:30:27 -0500

Michele some of your work on this was prescient - the just announced new 
features of aws lambda show it’s in this direction as well (polling a socket, 
suspending and resuming on new messages). Need to dig deeper but this is great 
validation. 

-r

> On Nov 29, 2018, at 5:39 AM, Michele Sciabarra <[email protected]> wrote:
> 
> Another (I would say easy) win for actionloop is Swift. 
> Numbers just tested:
> 
> Current one:
> 
> *** Testing openwhisk/action-swift-v4.1 ***
> Running 10s test @ http://localhost:8080/run
>  1 threads and 1 connections
>  Thread Stats   Avg      Stdev     Max   +/- Stdev
>    Latency    11.93ms    4.42ms  86.72ms   98.50%
>    Req/Sec    85.72      9.85   101.00     87.00%
>  859 requests in 10.05s, 116.60KB read
> Requests/sec:     85.51
> Transfer/sec:     11.61KB
> 
> The new one you have the PR to merge:
> 
> *** Testing msciab/actionloop-swift-v4.2.1 ***
> Running 10s test @ http://localhost:8080/run
>  1 threads and 1 connections
>  Thread Stats   Avg      Stdev     Max   +/- Stdev
>    Latency    14.15ms   66.82ms 529.16ms   95.77%
>    Req/Sec     1.04k   151.90     1.21k    88.54%
>  9935 requests in 10.01s, 1.28MB read
> Requests/sec:    992.40
> Transfer/sec:    130.83KB
> 
> 
> -- 
>  Michele Sciabarra
>  [email protected]
> 
> ----- Original message -----
> From: Carlos Santana <[email protected]>
> To: [email protected]
> Subject: Re: Submitted PR for performance boost of the Go Runtime
> Date: Wed, 28 Nov 2018 09:20:21 -0500
> 
> 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 <[email protected]>
> 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
>>  [email protected]
>> 
>> ----- Original message -----
>> From: Michele Sciabarra <[email protected]>
>> To: [email protected]
>> 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
>>  [email protected]
>> 
> 
> 
> -- 
> Carlos Santana
> <[email protected]>

Reply via email to