In the age of microservices and networking in general, were D is at?

ryuukk_ ryuukk_ at gmail.com
Fri Sep 18 14:32:36 UTC 2020


On Wednesday, 16 September 2020 at 19:14:57 UTC, Jacob Carlborg 
wrote:
> On 2020-09-13 22:58, ryuukk_ wrote:
>
>> [...]
>
> I did some benchmark on some real world code at my previous 
> work. We compared the performance (number of requests per 
> second) of an HTTP endpoint. It fetched some data from a 
> PostgreSQL database, did some processing and returned the 
> result as JSON.
>
> We compared a highly optimized version implemented in Ruby, 
> this was the baseline. Then a colleague implemented a version 
> in Go and I did an implementation in D, using vibe.d .
>
> The end result was that the Go version ran at 0.5x of the Ruby 
> version and the D version ran at 5x of the Ruby version. This 
> was without trying to optimize the code afterwards. Only some 
> common sense while writing the code, like if you can do it at 
> compile time, do that. I'm pretty sure I didn't even used LDC 
> for an optimized build.
>
> Of course, everyone at the company was only talking about how 
> on earth the Go version could be slower than the Ruby version. 
> Someone later did some improvements so that the Go version was 
> up to the same speed as Ruby. Nobody talked about how much 
> faster the D version was, except me :( .

I also experienced it, i am rewritting most of my server services 
and so far i get huge gain in performance, this allowed me to 
downgrade the server and save money!

I plan to rewrite more, but i need better HTTP story..


More information about the Digitalmars-d mailing list