A Perspective on D from game industry
Brian Rogoff via Digitalmars-d
digitalmars-d at puremagic.com
Sun Jun 15 16:25:42 PDT 2014
On Sunday, 15 June 2014 at 20:53:58 UTC, w0rp wrote:
> I'm going to try my hand at making a game with 2.066, because I
> believe @nogc is a final piece in a puzzle of making doing that
> easy. Much like writing bare metal D code without the runtime,
> I'm going to try my hand at writing D code with the main
> function marked as @nogc, because I reckon it's going to leave
> me with a saner set of syntax and semantics than either C or
> C++ in the end, with none of the drawbracks from the stop the
> world effect in a game loop.
Good luck, I'm sure a lot of people are interested.
> Having said that, I do think there's some kind of brain
> malfunction on the part of games programmers that makes them
> think "is slow and can't escape from" when they hear "garbage
> collector"
There's a similar brain malfunction on the part of GC advocates
that makes them think "GC programs are just as performant as non
GC'ed programs at no cost". (**)
On the Lang.Next panel, Andrei said something like
"For the same payload the garbage collected program uses 3 times
as much memory"
and researcher Emery Berger writes that
http://people.cs.umass.edu/~emery/plasma/emery/memory-management-studies.html
"... a good GC can match the performance of a good allocator, but
it takes 5X more space. If physical memory is tight, however,
conventional garbage collectors suffer an order-of-magnitude
performance penalty."
That's not even taking into account the non-determinism of
tracing GC or the issues of finalizers vs destructors or ...
Being able to turn off GC, and having the libraries not hit the
GC, are all important.
> and "makes things more complicated and slower" when they hear
> "template." Neither of these things are true.
D metaprogramming is a winning feature. But GC has a number of
costs as well as a number of benefits.
(**) I much prefer working in a GC'ed language with high level
features that require a GC (full closures!) but if resources are
tight I think you need to give up some pleasant features.
More information about the Digitalmars-d
mailing list