Results 153 comments of Cameron

asan is also known to give false positives with lock-free code.

Curious where those ubsan overflows are from though.

Ah I see, it's a dummy variable just to disable dead code removal. Yeah switching to any unsigned type should fix it.

"spsc" here in the benchmarks is not my code, but a different SPSC queue implementation from https://www.1024cores.net/home/lock-free-algorithms/queues/unbounded-spsc-queue just for comparison.

Would be worth getting the benchmarks to run in O3 (without spsc) to see the results.

Nice. Thanks for the results. Would have to dig into the assembly to see why the base operations with Folly are twice as fast.

1. There's memory fences in the queue itself for precisely this reason -- enqueuing will "happen before" the dequeue operation for any given element, making it safe to access `name_`...

I'm having trouble making sense of the logs: - The con queue size jumps from 7 to 14 in the logs -- how is this possible with only one producer...

Thanks for the standalone example. What am I looking for in the output? It seems to run without hanging locally.