3 ms·
I'm planning on updating it this year once I finally find the time to learn Rust. Developing an MQTT broker has become my go-to task for learning new languages.
by atilaneves 11y ago
I'm planning on updating it this year once I finally find the time to learn Rust. Developing an MQTT broker has become my go-to task for learning new languages.
- acqq 11y agoI'm really glad that you've done the D implementation. I think D gets less attention than it should, especially compared to Go. Maybe somebody already proficient in Rust, reading this, can contribute?
- nanny 11y agoNo big deal, it wasn't a slight against you, but rather the OP. It's not your fault he reposted your two year old benchmarks.
- pron 11y agoHow about Java, then? It's a little less esoteric than most of those languages.
- atilaneves 11y agoFunny you should ask: https://atilanevesoncode.wordpress.com/2014/01/08/adding-java-and-c-to-the-mqtt-benchmarks-or-how-i-learned-to-stop-worrying-and-love-the-garbage-collector/ https://atilanevesoncode.wordpress.com/2014/01/08/adding-jav...
- pron 11y agoSo Java is the pingtest winner, and I'm sure that with just a little more work it can be the loadtest winner as well.
- atilaneves 11y agoI doubt it, Patrick properly profiled and optimised it. Later on I got the D version to within 3% of Java's performance in pingtest.
- pron 11y agoIt's clearly optimized for latency over throughput. For one, it is single threaded -- unlike the Erlang, Go and, I believe D (vibe.d) implementations. Also, I don't know exactly how the benchmark was performed, but Java takes time to warm up (otherwise you're testing a completely different implementation of Java, which is only used at startup time). I've found that for long-running server-side apps, Java is very hard to beat in terms of performance, especially relative to the effort spent. I also think it's a nicer language than Go (I also prefer it over C++ and D).