Search This Blog

Saturday, April 15, 2006

Today's Status

Okay, I've got atomic stack, queue, O(N) set, O(N) hash table (constant time when the number of items is less than the size of the hash table). Also have an atomic variable template that supports atomic get/set (even on structures or variables larger than 1 word) and load/store with reserve, and is fully immune to the ABA problem; however, it's significantly slower (like, an order of magnitude) than a simple AtomicCompareExchange, so if it's possible to use that, you should. But if you need immunity to the ABA problem, or need to atomically access a variable larger than 1 word, you don't have much choice.

No comments: