James Dubee and Justin reviewed the PR and got merged yesterday Yay! I gave it a try last night and was able to test the improvements
Really like the examples/benchmark +1 -cs On Fri, Nov 30, 2018 at 4:40 AM Michele Sciabarra <[email protected]> wrote: > 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]> >
