D on next-gen consoles and for game development
Michel Fortin
michel.fortin at michelf.ca
Thu May 23 17:58:49 PDT 2013
On 2013-05-23 23:42:10 +0000, Manu <turkeyman at gmail.com> said:
> I have thought of making a similar RefCounted template, but where the
> refCount is stored in a hash table, and the pointer is used to index the
> table.
> This means the refCount doesn't pollute the class/structure being
> ref-counted, or avoids a double-indirection on general access.
> It will be slightly slower to inc/decrement, but that's a controlled
> operation.
> I would use a system like this for probably 80% of resources.
I just want to note that this is exactly how reference counts are
handled in Apple's Objective-C implementation, with a spin-lock
protecting the table.
Actually, on OS X (but not on iOS) there's 4 tables (if I remember
well) and which table to use is determined by bits 4 & 5 of the
pointer. It probably helps when you have more cores.
--
Michel Fortin
michel.fortin at michelf.ca
http://michelf.ca/
More information about the Digitalmars-d
mailing list