I am wondering if we are continuing to use RINGs in places where we should really migrate to using skiplists. afaict, we used RINGs initially because it was the only valid and available data structure we could use, but it was not idea. Even now, we aren't really using it as a FIFO queue and whenever we access it, we appear to be trying to do so in a sorted way (as related to time stamps)... I may end up doing some tests to see what the performance diffs would be if we instead just used skiplists.
Besides, I think all that RING macro junk is ugly :) :) Thoughts? Comments?