It would be interesting to have a GitHub repo with the scripts
for each language,
I might set this up after / because of the blog post. We'll see
how it goes.
vibe.d also has a multithreaded version that
is off by default (fibers created from new tcp connections are
distributed in a thread pool where communication is done
through Isolated!()).
Oh, I know. I tried it. The threads spent more time sending
messages to each other than doing actual work. And that was
before I changed the data structure for the subscriptions so it
did even less work.
The problem (at least with those 2 benchmarks) just isn't
amenable to be made faster by throwing threads at it. It wasn't
just the D/vibe.d version. The Go and Erlang versions were tried
with multiple threads as well. They either stayed at the same
speed or ran slower.
Atila