On Tue, 29 Sep 2015 05:21:18 GMT, punkuser wrote:

Hey guys,

So after a few years of casual development I'm nearing the point where I may actually be running my vibed-based game metaserver in a more serious production environment. To that end, while it has been very stable to date, I wanted to query the community for recommendations on the most reliable and "battle-tested" config.

I've been using dmd + libevent on Linux (ubuntu) and it has been quite stable, but the load has been relatively light compared to what the production config may see.
I mostly chose dmd at the time because a few years ago it was the most stable and complete of the various options, but I'm getting the impression that both GDC and LDC are getting pretty decent at this point as well, and may have significantly more capable garbage collectors (seemingly a weak point of dmd).

Their garbage collectors are the same, but their code generation is superior in terms of performance. It always depends on the kind of code, but sometimes they can give a huge performance improvement.

I've also heard some concerning talk of code gen issues with destructors in the latest versions of dmd, although I'm not sure on the details.

This should be fixed for DMD 2.068.2, at least as far as I'm aware of.

libevent has been pretty good but apparently there's also an actively developed "libasync" backend now as well. While performance is relevant, stability is still my #1 concern. To that end, is libevent still the most actively tested backend or would you guys recommend something else?

libevent is definitely still the recommended implementation in terms of stability. The libasync driver is improving, but it needs more time until it can be considered stable. I think is also still faster than libasync, but that should hopefully change at some point in the future.