al8n/skl

Performance regression

Opened this issue · 1 comments

al8n commented

The changes in 37ceb55 lead to huge write performance regression, not sure what happens, in write benchmark becomes 1ms, whereas the previous commit write benchmark is 5us.

If cannot find which part of changes lead to this change, maybe need to reimplement the whole crate base on fa55ff6.

al8n commented

I sense that this is caused by contention regarding CAS operation. In the current implementation, the tower contains both prev and next pointers, in concurrent write situations, this increases the CAS failure possibility.

I will move the current implementation to the doubly mod, and create a new mod called singly to keep the previous implementation.