Re: HTTP frameworks benchmark focused on D libraries

2020-09-27 Thread tchaloupka via Digitalmars-d-announce

Hi all, I've just pushed the updated results.

Test suite modifications:

* added runner command to list available tests
* possibility to switch off keepalive connections - causes `hey` 
to make a new connection for each request
* added parameter to run each test multiple times and choose the 
best result out of the runs


Tests additions:

* new RAW tests in C to utilize epoll and io_uring (using 
liburing) event loops - so we have some ground base we can 
compare against
* same RAW tests but in Dlang too - both in betterC, epoll is 
basically the same, io_uring differs in that it uses my during[1] 
library - so we can see if there are some performance problems 
(as it should perform basically the same as C variant)


Some insights:

I've found the test results from hey[2] pretty inconsistent (run 
locally or over the network). That's the reason I've added the 
`bestof` switch to the runner. And the current test results are 
the best of 10 runs for each of them.


Some results are a bit surprising, ie that even with 10 runs 
there are tests that are faster than C/dlang raw tests - as they 
should be at the top because they really don't do anything with 
HTTP handling.. And eventcore/fibers to beat raw C epoll loop 
with fibers overhead? It just seems odd..


I'll probably add wrk[3] load generator too to see a difference 
with a longer running tests.


[1] https://github.com/tchaloupka/during
[2] https://github.com/rakyll/hey
[3] https://github.com/wg/wrk


Re: HTTP frameworks benchmark focused on D libraries

2020-09-27 Thread ikod via Digitalmars-d-announce

On Sunday, 27 September 2020 at 10:08:24 UTC, tchaloupka wrote:

Hi all, I've just pushed the updated results.



* new RAW tests in C to utilize epoll and io_uring (using 
liburing) event loops - so we have some ground base we can



I'll probably add wrk[3] load generator too to see a difference 
with a longer running tests.


[1] https://github.com/tchaloupka/during
[2] https://github.com/rakyll/hey
[3] https://github.com/wg/wrk


Thank for this job. It may be worth to add nginx as baseline for 
real C-based server.


I'll add my framework as soon as it will be ready.


Re: beerconf September!

2020-09-27 Thread Ethan via Digitalmars-d-announce
On Sunday, 27 September 2020 at 00:48:34 UTC, Steven 
Schveighoffer wrote:

Here is day 1's notes.

https://gist.github.com/schveiguy/ba5532fa64822113a8877ae4be37eeeb


Beer thread! Where are the worst beers created? We have some 
contenders:

Ethan: Finland


I also followed on and said Finnish beers are a shadow of the 
trash that comes out of Australia. Craft brewers in both 
countries do some good stuff though, but anything exported is 
going to be mass produced junk.


This is beerconf. Get the beer talk right jeez.


Re: HTTP frameworks benchmark focused on D libraries

2020-09-27 Thread Adam D. Ruppe via Digitalmars-d-announce
I fixed my event loop last night so I'll prolly release that at 
some point after a lil more testing, it fixes my keep-alive 
numbers... but harms the others so I wanna see if I can maintain 
those too.


Re: Release D 2.094.0

2020-09-27 Thread Martin Nowak via Digitalmars-d-announce
On Saturday, 26 September 2020 at 21:45:09 UTC, Martin Nowak 
wrote:

Glad to announce D 2.094.0, ♥ to the 49 contributors.


I'd use the delay as an opportunity to shift the bi-monthly 
releases to even months (to avoid the beta during the holiday 
season).

https://github.com/dlang/dlang.org/pull/2860


Re: Release D 2.094.0

2020-09-27 Thread Daniel N via Digitalmars-d-announce

On Saturday, 26 September 2020 at 22:12:17 UTC, Imperatorn wrote:
On Saturday, 26 September 2020 at 21:45:09 UTC, Martin Nowak 
wrote:

Glad to announce D 2.094.0, ♥ to the 49 contributors.

This release comes with faster compiler binaries (built with 
ldc), direct git dependencies in dub, better type checking of 
vectors, and improved template instantiation diagnostics.


http://dlang.org/download.html
http://dlang.org/changelog/2.094.0.html

-Martin


Hurrah! 🌈🍀


Yay! "-preview=in" is beyond epic!



Re: HTTP frameworks benchmark focused on D libraries

2020-09-27 Thread Adam D. Ruppe via Digitalmars-d-announce

On Sunday, 27 September 2020 at 10:08:24 UTC, tchaloupka wrote:
* new RAW tests in C to utilize epoll and io_uring (using 
liburing) event loops - so we have some ground base we can 
compare against


I fixed some buffering issues in cgi.d and, if you have the right 
concurrency level that happens to align with the number of worker 
processes... I'm getting incredible results. 65k rps.


It *might* just beat the raw there. The kernel does a really good 
job.


Of course, it still will make other connections wait forever... 
but my new event loop in threads mode is now also giving me a 
pretty solid 26k rps on random concurrency levels with the 
buffering fix.


I just need to finish testing this to get some confidence before 
I push live but here it is on a github branch if you're curious 
to look:


https://github.com/adamdruppe/arsd/blob/cgi_preview/cgi.d

Compile with `-version=embedded_httpd_threads 
-version=cgi_use_fiber` to opt into the new event loop. But the 
buffering improvements should register in all usage modes.


Re: beerconf September!

2020-09-27 Thread Steven Schveighoffer via Digitalmars-d-announce

On 9/27/20 8:14 AM, Ethan wrote:

On Sunday, 27 September 2020 at 00:48:34 UTC, Steven Schveighoffer wrote:

Here is day 1's notes.

https://gist.github.com/schveiguy/ba5532fa64822113a8877ae4be37eeeb



Beer thread! Where are the worst beers created? We have some contenders:
Ethan: Finland


I also followed on and said Finnish beers are a shadow of the trash that 
comes out of Australia. Craft brewers in both countries do some good 
stuff though, but anything exported is going to be mass produced junk.


This is beerconf. Get the beer talk right jeez.


It was a collaborative document. If you don't like my partially 
inebriated experience report, you are free to add your own.


I'm not a court stenographer, I can't be expected to record every word 
everyone says.


-Steve


Re: HTTP frameworks benchmark focused on D libraries

2020-09-27 Thread James Blachly via Digitalmars-d-announce

On 9/27/20 6:08 AM, tchaloupka wrote:

Hi all, I've just pushed the updated results.



Thanks for continuing to work on this!

 vibe-core performs quite well -- scaling up with additional workers 
from 8 through 256, whereas vibe-d platform tops out around 
~35,000-45,000 RPS irrespective of simultaneous workers (plateauing 
between 8-64 workers).


Given the outstanding performance of vibe-core it looks like there is 
room to continue to improve the vibe-d platform.


Cheers again for your work.