Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If it's a power of two, you don't need the branch at all. Let the unsigned index wrap.


You ultimately need a mask to access the correct slot in the ring. But it's true that you can leave unmasked values in your reader/writer indices.


Interesting, I've never heard about anybody using this. Maybe a bit unreadable? But yeah, should work :)



Nice one!


I believe ConcurrencyKit's impl does this.

https://github.com/concurrencykit/ck/blob/master/include/ck_...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: