Samuel Schetterer
Samuel Schetterer
> This sacrifices some memory but potentially beats replicating the whole cache per CPU. If by this you mean that each cache entry would also be duplicated, I don't think...
On the topic of iterators getting invalidated concurrently - the [CHAMT datastructure](http://lampwww.epfl.ch/~prokopec/ctries-snapshot.pdf) can efficiently support snapshots, allowing non-owning iterators to take a consistent view of the map. This doesn't really...
I was working on the drop thing a while ago, I remember that there was something about requiring types with a static lifetime, but I haven't thought much at all...
[The dissertation](http://stars.library.ucf.edu/cgi/viewcontent.cgi?article=6069&context=etd) from the author of the transactional list paper seems quite relevant here.
A while ago I experimented with something like the junkyard idea, and even for a much simpler mpsc situation it was significantly more expensive in the average case than allocating....
That’s more or less what I did, iirc. The problem was that with multiple producers, there’s contention of some free/in-use tag. On X86, this is especially expensive. If one were...
Looking over the code, it appears as if each task in the DAG is submitted to the global MPMC queue where worker threads are continuously popping from the queue, and...
This looks great! Some comments: - If applications care about contention, they'll probably want to use try_recv. I'm not sure if that's worth the api bloat. Also, try_recv will probably...
Also, I think that there should be a leaky mode the queue can be constructed with which removes crossbeam protection from the buffer at the cost of leaking it. I...
@jeehoonkang it looks like tx and rx share a cache line, which they shouldn't have to. Also, the writer should cache the last-seen reader index so it doesn't have to...