Remember that Go vs D MQTT thing and how we wondered about dmd vs gdc?
Shammah Chancellor
anonymous at coward.com
Fri Mar 7 03:52:29 PST 2014
On 2014-03-07 08:45:21 +0000, Bienlein said:
> On Friday, 7 March 2014 at 08:23:09 UTC, Atila Neves wrote:
>
>>> I'm suspecting that Vibe's performance is heavily based upon the
>>> systems state i.e. hdd. Not so much on the code generation.
>>> I don't know where we can get more performance out of it. But something
>>> doesn't quite feel right.
>
> Robert Pike, the Go lead developer, some days ago published this tweet:
>
> "Just looked at a Google-internal Go server with 139K goroutines
> serving over 68K active network connections. Concurrency wins."
>
> In that way your MQTT benchmarks falls short with a maximum of 1k
> connections. You need to repeat it with 50k and 100k connections. Then
> Go and Erlang will rock and leave D behind. If you want to be fair with
> Erlang you need to make a benchmark run with 1.000k connections and
> more, see
> https://www.erlang-solutions.com/about/news/erlang-powered-whatsapp-exceeds-200-million-monthly-users
>
>
> I don't like Go's simplistic nature, either, but Go is not about the
> language. It is about making concurrency much simpler and allowing for
> many many threads. IMHO this is what gives Go the attention. Except for
> Erlang no other system/language than Go can get something similar
> accomplished (except Rust maybe when it is finished, but it is not
> clear whether it will have good built times like Go or D).
>
> If you want to give D a boost, put Go-style CSP and green threads into
> it as well. Then D will start to fly. Otherwise it will have to
> continue competing against C++ as its sole application area where it
> will always remain a niche player, because of the market dominance of
> C++.
Have you used vibe.d? It already supports in-process fibers, and much
of the work that Sönke is doing is being ported to phobos. I have no
trouble believing that MQTT implemented on top of vibed could compete
with Go or Erlang. If it can't do it right now, it's not because of a
fundamental design problem, but because of bugs.
-S.
More information about the Digitalmars-d
mailing list