Disable GC entirely
Dicebot
m.strashun at gmail.com
Wed Apr 10 02:11:10 PDT 2013
On Wednesday, 10 April 2013 at 09:06:40 UTC, Manu wrote:
> Actally, now that I think about it though, I do something like
> this a lot
> in games.
> I have a block of memory that only lasts the life of a single
> frame, any
> transient allocations go in there, and they are never released,
> the pointer
> is just reset and it overwrites the buffer each frame.
> Allocation is virtually instant: void* alloc(size_t bytes) {
> offset +=
> bytes; return buffer[offset-bytes..offset]; }
> and releasing: offset = 0;
> This is a great realtime allocator! ;)
> I usually have separate allocation functions to do this, but in
> D there is
> the problem that all the implicit allocations (array
> concatenation/strings/etc) can't have their alloc source
> controlled :/
Well, avoid all implicit allocations and you can do something
like that already right now. My initial comment was inspired by
recent uprising of "scope" discussion - it fits the concept
allowing such implementation to be not only fast but also
type-safe.
More information about the Digitalmars-d
mailing list