RFC: naming for FrontTransversal and Transversal ranges

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Fri May 1 23:34:57 PDT 2009


Robert Jacques wrote:
> On Fri, 01 May 2009 19:25:35 -0400, Andrei Alexandrescu 
> <SeeWebsiteForEmail at erdani.org> wrote:
> 
>> Robert Jacques wrote:
>>> Do you have a link to your article?
>>
>> http://tinyurl.com/dac82a
>>
>>
>> Andrei
> 
> Should've seen that one coming. :)
> 
> Anyways, I'm not sure how you can call the technique lock-free, since 
> you're doing (possibly several) allocations inside the inner CAS loop. 

No, repeated allocations are trivial to eliminate. I didn't even bother 
to explain that in the article. The loop must only refill the allocated 
object from the object that needs to be replaced.

> (I guess a good, parallel allocator might negate this) It's probably not 
> an issue for the article's use case, where reads vastly dominated 
> updates, but for things like stacks or queues, it wouldn't work. And 
> poor performance leads people to create their own fast, possibly buggy 
> versions, thus defeating the point of a standard library.

Incidentally Maged Michael himself wrote the first lock-free malloc().


Andrei



More information about the Digitalmars-d mailing list